gpt4 book ai didi

java - 字符串格式的 XML 到 Java 中的 org.w3c.dom.Document

转载 作者:行者123 更新时间:2023-12-01 22:41:56 24 4
gpt4 key购买 nike

我正在尝试将字符串格式的 samlResponse 转换为 org.w3c.dom.Document 以验证它。但即使我使用了几种不同的方法,它也会产生 null。
一种方法如下:这里甚至 inputStream 也为 null。
BasicParserPool bpp = new BasicParserPool();
bpp.setNamespaceAware(true);
Document doc= bpp.parse(new ByteArrayInputStream(samlResponse.getBytes()));
Element responseElement = doc.getDocumentElement();

其中字符串 samlResponse 如下(只是一个片段):

String samlResponse = "<saml2p:Response xmlns:saml2p=\"urn:oasis:names:tc:SAML:2.0:protocol\"  xmlns:xs=\"http://www.w3.org/2001/XMLSchema\" Version=\"2.0\">   <saml2:Issuer etc etc

有什么想法我哪里出错了吗?

最佳答案

BasicParserPool 是一个 OpenSAML 类,我没有使用过 OpenSAML,所以我不能说为什么它不起作用。

我可以给你一个对我有用的简单替代方案。

我使用 javax.xml.parsers.DocumentBuilderFactory 和 javax.xml.parsers.DocumentBuilder 将字符串转换为 org.w3c.dom.Document:

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
dbf.setNamespaceAware(true);
Document result = dbf.newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes()));

其中“xml”是要转换的字符串。我遗漏了一些异常捕获。

API 在这里:DocumentBuilder API

希望这有帮助。

关于java - 字符串格式的 XML 到 Java 中的 org.w3c.dom.Document,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25999429/

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