求指点,c#循环读取xml节点

baichiisyou00 2014-07-02 11:57:40
还是刚才的问题,还是有错误,求大神给段代码,或者把我的修改一下,,
<?xml version="1.0" encoding="UTF-8"?>
-<info> -<appinfo> <appname>helper</appname> <appPackageName>com.zk.helper</appPackageName> </appinfo> -<appinfo> <appname>com.android.smoketest</appname> <appPackageName>com.android.smoketest</appPackageName> </appinfo> -<appinfo> <appname>noActivity</appname> <appPackageName>com.example.noactivity</appPackageName> </appinfo> -<appinfo> <appname>ApplicationList</appname> <appPackageName>com.levono</appPackageName> </appinfo> -<appinfo> <appname>Widget Preview</appname> <appPackageName>com.android.widgetpreview</appPackageName> </appinfo>
上面是我的xml
好几个appname
我想得到他们的值。
XElement element = XElement.Load(@"E:\phonexmll\info.xml");
IEnumerable<XElement> elementCollection = element.Elements("appinfo");
var query = from p in elementCollection select p;
foreach (var item in query)
{
item.Element("appname").Value;--------这句话错误。。。
}
我该怎么写阿。
...全文
276 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
baichiisyou00 2014-07-02
  • 打赏
  • 举报
回复
引用 4 楼 wangnaisheng 的回复:
C#中读取xml文件指定节点

<?xml version="1.0" encoding="UTF-8"?>
<info>
  <appinfo>
    <appname>helper</appname>
    <appPackageName>com.zk.helper</appPackageName>
  </appinfo>
  <appinfo>
    <appname>com.android.smoketest</appname>
    <appPackageName>com.android.smoketest</appPackageName>
  </appinfo>
  <appinfo>
    <appname>noActivity</appname>
    <appPackageName>com.example.noactivity</appPackageName>
  </appinfo>
  <appinfo>
    <appname>ApplicationList</appname>
    <appPackageName>com.levono</appPackageName>
  </appinfo>
  <appinfo>
    <appname>Widget Preview</appname>
    <appPackageName>com.android.widgetpreview</appPackageName>
  </appinfo>
</info>
你的确少了一个 </info>
我真的有。我是截取的一部分发的代码。。。因为太长的原因,。。。我的问题是我怎么获取到appname节点的值。
wangnaisheng 2014-07-02
  • 打赏
  • 举报
回复
C#中读取xml文件指定节点

<?xml version="1.0" encoding="UTF-8"?>
<info>
  <appinfo>
    <appname>helper</appname>
    <appPackageName>com.zk.helper</appPackageName>
  </appinfo>
  <appinfo>
    <appname>com.android.smoketest</appname>
    <appPackageName>com.android.smoketest</appPackageName>
  </appinfo>
  <appinfo>
    <appname>noActivity</appname>
    <appPackageName>com.example.noactivity</appPackageName>
  </appinfo>
  <appinfo>
    <appname>ApplicationList</appname>
    <appPackageName>com.levono</appPackageName>
  </appinfo>
  <appinfo>
    <appname>Widget Preview</appname>
    <appPackageName>com.android.widgetpreview</appPackageName>
  </appinfo>
</info>
你的确少了一个 </info>
baichiisyou00 2014-07-02
  • 打赏
  • 举报
回复
引用 2 楼 Z65443344 的回复:
appname是appinfo的子节点,不是值
太多了。我截取了一部分。。。 我就想得到<appname>helper</appname>下面的helper。。
於黾 2014-07-02
  • 打赏
  • 举报
回复
appname是appinfo的子节点,不是值
於黾 2014-07-02
  • 打赏
  • 举报
回复
还是只有-<info>,没有-</info> 得到节点的值,得用.InnerText 你本身xml里只有文本,也没有给定值啊
宝_爸 2014-07-02
  • 打赏
  • 举报
回复
我这里没有问题啊。lz确信用的xml没有问题吗?

            XElement element = XElement.Load(@"XMLFile1.xml");
                IEnumerable<XElement> elementCollection = element.Elements("appinfo");
                var query = from p in elementCollection select p;
                foreach (var item in query)
                {
                    string res1 = item.Element("appname").Value;
                }

XMLFile1.xml 文件,只是加了一个</info>

<?xml version="1.0" encoding="UTF-8"?>
<info>
  <appinfo>
    <appname>helper</appname>
    <appPackageName>com.zk.helper</appPackageName>
  </appinfo>
  <appinfo>
    <appname>com.android.smoketest</appname>
    <appPackageName>com.android.smoketest</appPackageName>
  </appinfo>
  <appinfo>
    <appname>noActivity</appname>
    <appPackageName>com.example.noactivity</appPackageName>
  </appinfo>
  <appinfo>
    <appname>ApplicationList</appname>
    <appPackageName>com.levono</appPackageName>
  </appinfo>
  <appinfo>
    <appname>Widget Preview</appname>
    <appPackageName>com.android.widgetpreview</appPackageName>
  </appinfo>
</info>

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧