无法从XmlTextReader访问Xml值

时间:2014-07-08 00:29:11

标签: c# xml

我有一个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);
}

1 个答案:

答案 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的内容。