【问题标题】:Parsing String to org.w3c.dom.Document with namespaces使用命名空间将字符串解析为 org.w3c.dom.Document
【发布时间】:2016-11-25 08:57:35
【问题描述】:

如何从包含 XML 的字符串创建文档?

我已尝试以下代码,但 document.getElementsByTagNameNS("Envelope", "http://schemas.xmlsoap.org/soap/envelope/") 函数调用未找到任何 XML 元素。

String xml = "<soapenv:Envelope\n" +
        "        xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\">\n" +
        "\t<soapenv:Header>\n" +
        "\t</soapenv:Header>\n" +
        "\t<soapenv:Body>\n" +
        "\t</soapenv:Body>\n" +
        "</soapenv:Envelope>";

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder;
try {
    factory.setNamespaceAware(true);
    builder = factory.newDocumentBuilder();
    Document document = builder.parse(new InputSource(new StringReader(xml)));
    System.out.println(document.getElementsByTagNameNS("Envelope", "http://schemas.xmlsoap.org/soap/envelope/").getLength());
} catch (Exception e) {
    e.printStackTrace();
}

【问题讨论】:

    标签: java xml dom xml-namespaces


    【解决方案1】:

    根据文档,

    NodeList getElementsByTagNameNS(String namespaceURI, String localName)
    

    以下将起作用,

    System.out.println(document.getElementsByTagNameNS("http://schemas.xmlsoap.org/soap/envelope/", "Envelope").getLength());
    

    【讨论】:

      猜你喜欢
      • 2012-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2014-01-10
      相关资源
      最近更新 更多