gpt4 book ai didi

c# - 读取没有命名空间的内部 XML

转载 作者:行者123 更新时间:2023-12-05 07:59:47 25 4
gpt4 key购买 nike

我正在尝试将根元素的内部 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);
}

最佳答案

您必须先删除 namespace 。 How to remove all namespaces from XML with C#?

不能用innerXML就直接取出来

关于c# - 读取没有命名空间的内部 XML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864485/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com