【问题标题】:parse xml that contain colon解析包含冒号的 xml
【发布时间】:2014-08-02 18:39:20
【问题描述】:

我有这个 XML 文本:

<test:solution xmlns:test="http://www.test.com/">
    <script/>
    <test:question>
        <test:param name="name1">value 1</test:param>
        <test:param name="name2"> value 2</test:param>
    </test:question>
</test:solution>

当我运行包含这些行的应用程序时:

XmlDocument doc = new XmlDocument();
doc.Load(xmlUrl);
XmlNode testQuestions = doc.SelectSingleNode("/test:solution/test:question");
//XmlNodeList testParamNodeList = testQuestions.SelectNodes("test:param");

它给出一个错误,我知道错误来自冒号,但我不知道如何解决它。
感谢帮助

【问题讨论】:

  • 你得到什么错误?冒号将命名空间与元素名称分开。
  • 您需要添加(定义)test 命名空间才能使其工作。
  • 那些 冒号 真的是 XML 命名空间,您应该阅读它们以了解它们是什么以及如何处理它们! Google 或 Bing 将帮助您找到必要的信息
  • 我不知道在我的例子中 XmlDocument 如何处理命名空间,一个例子会很有用
  • 请不要告诉我们某事给出了错误而不告诉我们错误是什么。这就像告诉你的医生你很痛苦,而不是告诉他们哪里痛。

标签: c# xml parsing


【解决方案1】:

试试这个:

    XmlDocument doc = new XmlDocument();

    doc.Load(PATH);

    XmlNamespaceManager ns = new XmlNamespaceManager(doc.NameTable);
    ns.AddNamespace("test", "http://www.test.com/");
    XmlNode node = doc.SelectSingleNode("//test:solution//test:question", ns);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-09-09
    • 2014-07-31
    • 1970-01-01
    • 2013-05-31
    • 2018-09-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多