C# Can';无法从XmlTextReader访问Xml值
我有一个XmlTextReader对象,我正在尝试使用它读取下面的xml:C# Can';无法从XmlTextReader访问Xml值,c#,xml,C#,Xml,我有一个XmlTextReader对象,我正在尝试使用它读取下面的xml: <string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">STRING GOES HERE</string> 字符串在这里 但是,当我检查xmReader.Value时,下面的代码编译并运行。它是空的。我很困惑,因为它应该有值“stringgoeshere”。有人能帮我找出为什么我不能访问该值吗 string xml
<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/">STRING GOES HERE</string>
字符串在这里
但是,当我检查xmReader.Value时,下面的代码编译并运行。它是空的。我很困惑,因为它应该有值“stringgoeshere”。有人能帮我找出为什么我不能访问该值吗
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);
}
string xmlstrdoc=“string在这里”;
XmlTextReader=newxmltextreader(new System.IO.StringReader(xmlstrdoc));
while(xmReader.Read())
{
Console.WriteLine(xmReader.Name);
Console.WriteLine(xmReader.Value);
}
无法获得预期结果的原因是XmlTextReader.Read读取每种节点类型。第一次调用Read()时,它读取XmlNodeType.Element。第二次调用Read()时,它将读取XmlNodeType.Text NodeType
请参见此处的编码示例
尽管看起来您正在寻找更像。FYI的东西,但您不应该使用
new XmlTextReader()
或new XmlTextWriter()
。自.NET 2.0以来,它们一直被弃用。改用XmlReader.Create()
或XmlWriter.Create()
或XDocument
,这样界面更好。