我想从XMl文件读取数据,该文件是预定义的格式,如给定的
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:Poll="http://www.example.com">
<channel>
<title>Please Enter Title</title>
<category>Please Enter Today's Voting Poll</category>
<link>http://www.WebsiteURL.com</link>
<description>Please Enter Description</description>
<lastBuildDate>Fri, 09 Mar 2012 10:30:55 UT</lastBuildDate>
<item>
<title>Topic Title</title>
<Poll:ID>Poll Id</Poll:ID>
<Poll:Answer1>answer</Poll:Answer1>
<Poll:Date>Date</Poll:Date>
</item>
我无法读取元素标记前缀中包含Poll的数据。
foreach (XmlNode RSSNode in RSSChannelItemList)
{
XmlNode RSSSubNode;
RSSSubNode = RSSNode.SelectSingleNode("title");
string title = RSSSubNode != null ? RSSSubNode.InnerText : "";
XNamespace Tips = "http://www.example.com";
RSSSubNode = RSSNode.SelectSingleNode("ID");
string link = RSSSubNode != null ? RSSSubNode.InnerText : "";
link = RSSSubNode!=null ? RSSSubNode.InnerXml : "";
}
我完全得到了标题值,但我无法获得ID的值 这是XMl中的自定义标记
任何人都可以建议我如何做到这一点
答案 0 :(得分:1)
浏览此链接 View this Post 这可能很有用 您只需要定义一个名称空间,然后像这样使用它
XmlNamespaceManager nameSpace = new XmlNamespaceManager(doc.NameTable);
nameSpace.AddNamespace("Tips", "http://www.example.com");
RSSSubNode = RSSNode.SelectSingleNode("Tips:ID",nameSpace);
string link = RSSSubNode != null ? RSSSubNode.InnerText : "";