首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场

解析XML
EN

Stack Overflow用户
提问于 2013-10-02 16:11:20
回答 2查看 149关注 0票数 1

我已经阅读了很多教程和例子,但我迷路了。我有一个具有这种数据类型的XML文件:

代码语言:javascript
运行
复制
<?xml version="1.0"?>
<properties>
  <property>
    <name>Client Property A</name>
    <phone>Client Property A Phone Number</phone>
  </property>
  <property>
    <name>Client Property B</name>
    <phone>Client Property B Phone Number</phone>
  </property>
  <property>
    <name>Client Property C</name>
    <phone>Client Property C Phone Number</phone>
  </property>
</properties>

我试图在C#中解析这些数据,但是没有任何结果。我有这个:

代码语言:javascript
运行
复制
XmlTextReader xmldata = new XmlTextReader("http://url.to/xml");
   XmlNodeList xmllist = doc.GetElementsByTagName("property");
   processList( xmllist );

public void processList(XmlNodeList xmllist)
    {
        // Loop through each property node and list the information
        foreach (XmlNode node in xmllist)
        {
            XmlElement nodeElement = (XmlElement)node;
            txtBox.AppendText(nodeElement.GetElementsByTagName("name")[0].InnerText);
            txtBox.AppendText(nodeElement.GetElementsByTagName("phone")[0].InnerText);
        }
    }

但是没有输出到我的文本框中。:(

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-02 16:16:32

代码语言:javascript
运行
复制
var m_strFilePath = "http://www.google.com/ig/api?weather=12414&hl=it";
string xmlStr;
using(var wc = new WebClient())
{
    xmlStr = wc.DownloadString(m_strFilePath);
}
var doc= new XmlDocument();
doc.LoadXml(xmlStr);

    XmlNodeList xmllist = doc.SelectNodes("//property");
       processList( xmllist );


    public void processList(XmlNodeList xmllist)
        {
            // Loop through each property node and list the information
            foreach (XmlNode node in xmllist)
            {
                XmlElement nodeElement = (XmlElement)node;
                txtBox.AppendText(nodeElement.SelectSingleNode("name").InnerText);
                txtBox.AppendText(nodeElement.SelectSingleNode("phone").InnerText);
            }
        }
票数 1
EN

Stack Overflow用户

发布于 2013-10-02 16:15:14

可以使用Linq到Xml从xml中获取属性:

代码语言:javascript
运行
复制
var xdoc = XDocument.Load("http://url.to/xml");

foreach(var p in xdoc.Root.Elements("property"))
{
   txtBox.AppendText((string)p.Element("name"));
   txtBox.AppendText((string)p.Element("phone"));
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19141612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档