Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 不使用名称空间读取内部XML_C#_.net_Xml_Xmlreader - Fatal编程技术网

C# 不使用名称空间读取内部XML

C# 不使用名称空间读取内部XML,c#,.net,xml,xmlreader,C#,.net,Xml,Xmlreader,我试图将根元素的内部XML作为字符串读取,但XmlReader类是名称空间感知的。有没有办法忽略名称空间?我可以使用BCL中的任何类,只要它通过下面的NUNit测试 [Test] public void GetInnerXmlTest() { string subject = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" + "<urlset xmlns=\"http://www.si

我试图将根元素的内部XML作为字符串读取,但XmlReader类是名称空间感知的。有没有办法忽略名称空间?我可以使用BCL中的任何类,只要它通过下面的NUNit测试

[Test]
public void GetInnerXmlTest()
{
    string subject = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
                     "<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">" +
                         "<url><loc>abc</loc></url>" +
                         "<url><loc>def</loc></url>" +
                     "</urlset>";

    XDocument document = XDocument.Parse(subject);
    XmlReader xmlReader = document.FirstNode.CreateReader();
    xmlReader.MoveToContent();
    string innerXml = xmlReader.ReadInnerXml();
    //<url xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><loc>abc</loc></url><url xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><loc>def</loc></url>

    Assert.AreEqual("<url><loc>abc</loc></url><url><loc>def</loc></url>",
                    innerXml);
}
[测试]
public void GetInnerXmlTest()
{
string subject=“”+
"" +
“abc”+
“def”+
"";
XDocument document=XDocument.Parse(主题);
XmlReader=document.FirstNode.CreateReader();
xmlReader.MoveToContent();
字符串innerXml=xmlReader.ReadInnerXml();
//abcdef
Assert.AreEqual(“abcdef”,
innerXml);
}

必须先删除名称空间。


您不能在使用innerXML后直接将其取出。

好吧,那么,您从
ReadInnerXml
中得到了什么结果?为什么您认为这是错误的?@OndrejTucny我用ReadInnerXml方法返回的值更新了这个问题。您可以在断言中看到我想要得到的输出。这些问题可能有帮助: