gpt4 book ai didi

java - 从每个命名空间 + 标记名称的 XML 文件中获取元素

转载 作者:行者123 更新时间:2023-11-29 04:05:25 25 4
gpt4 key购买 nike

<分区>

以这两个 XML 字符串为例:

1.

 <D:current-user-principal xmlns:D="DAV:">
<D:href>/principals/users/cdaboo</D:href>
</D:current-user-principal>

2.

<d:current-user-principal xmlns:d="DAV:">
<d:href>/principals/users/cdaboo</d:href>
</d:current-user-principal>

它们基本相同,但在 xmlns:D="DAV:" xmlns:d="DAV:" 中有所不同。

当我通过 Java XML DOM API 找到当前用户主体元素时,我不能简单地使用 getElementsByTagName 方法。该程序失败:

        DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = null;
builder = factory.newDocumentBuilder();
Document doc = null;

doc = builder.parse(new InputSource(new StringReader("<?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?><D:current-user-principal xmlns:D=\"DAV:\">\n" +
"<D:href>/test/for/stackoverflow</D:href>\n" +
"</D:current-user-principal>")));
doc.getDocumentElement().normalize();

NodeList currentUserPrincipal = doc.getElementsByTagName("d:current-user-principal");
System.out.println(currentUserPrincipal.item(0).getTextContent());

因为我搜索“d:current-user-principal”而不是“D:current-user-principal”。

有没有一种简单的方法可以使用 Java DOM API 或任何其他 xml 解析器库实现这一点?

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