我有一个XmlTextReader对象,我试图使用它读取下面的xml:
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">STRING GOES HERE</string>
下面的代码编译并运行,但是当我检查xmReader.Value时它是空的。我很困惑,因为它应该具有价值&#34; STRING GOES GOE HERE&#34;。任何人都可以帮我弄清楚为什么我无法获取价值?
string xmlstrdoc = "<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">STRING GOES HERE</string>";
XmlTextReader xmReader = new XmlTextReader(new System.IO.StringReader(xmlstrdoc));
while(xmReader.Read())
{
Console.WriteLine(xmReader.Name);
Console.WriteLine(xmReader.Value);
}
答案 0 :(得分:1)
您没有得到预期的原因是因为XmlTextReader.Read读取每个节点类型。第一次调用Read()时,它会读取XmlNodeType.Element NodeType。第二次调用Read()时,它将读取XmlNodeType.Text NodeType。
请参阅此处的编码示例http://msdn.microsoft.com/en-us/library/system.xml.xmltextreader.read(v=vs.110).aspx。
虽然您似乎正在寻找更像XmlDocument的内容。