使用此XML示例:
<A>
<B>
<id>0</id>
</B>
<B>
<id>1</id>
</B>
</A>
我想要一个简单的方法来提取节点B的XML块,并返回XML字符串:
<B>
<id>1</id>
</B>
要检索此节点,我应该使用一些Java XPath库,例如XOM或Java XPath,但是我找不到如何获取完整的XML字符串。
添加到lwburk的解决方案中,要将DOM节点转换为字符串形式,可以使用Transformer:
private static String nodeToString(Node node)
throws TransformerException
{
StringWriter buf = new StringWriter();
Transformer xform = TransformerFactory.newInstance().newTransformer();
xform.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
xform.transform(new DOMSource(node), new StreamResult(buf));
return(buf.toString());
}
完整的例子:
public static void main(String... args)
throws Exception
{
String xml = "<A><B><id>0</id></B><B><id>1</id></B></A>";
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
Document doc = dbf.newDocumentBuilder().parse(new InputSource(new StringReader(xml)));
XPath xPath = XPathFactory.newInstance().newXPath();
Node result = (Node)xPath.evaluate("A/B[id = '1']", doc, XPathConstants.NODE);
System.out.println(nodeToString(result));
}
private static String nodeToString(Node node)
throws TransformerException
{
StringWriter buf = new StringWriter();
Transformer xform = TransformerFactory.newInstance().newTransformer();
xform.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
xform.transform(new DOMSource(node), new StreamResult(buf));
return(buf.toString());
}
问题内容: 我的目标是在从链接读取href属性时始终获取相同的字符串(在我的情况下为URI)。举例:假设认为,一个HTML文件,它有一个像somany链接 ,但基本域是http://www.domainname.com/index.html 但基本域是http://www.domainname.com/dit/index.html 如何我可以正确获取所有链接意味着完整链接包括域名吗? 我如何在Ja
假设我的示例url是 http://example.com/one/two 我说我有以下路线 的值将为。 如何获取Express中的完整url?例如,在上面的情况下,我希望收到。
问题内容: 我已经用以下代码读取了Java中的XML文件: 那么,如何从节点实例获取完整的xml内容?(包括所有标签,属性等) 谢谢。 问题答案: 您将使用DOMSource(而不是StreamSource),并在构造函数中传递您的节点。 然后,您可以将节点转换为字符串。 快速样本:
问题内容: 有没有一种简单的方法可以打印的完整路径? 的 应该打印 问题答案: 使用 readlink :
问题内容: 假设我的示例网址是 http://example.com/one/two 我说我有以下路线 值将是。 如何在Express中获取 完整的URL ?例如,在上述情况下,我想收到。 问题答案: 该协议可从下载。这里的文档 在express 3.0之前,除非您看到已设置并具有value 的协议,否则可以假定为该协议,在这种情况下,您知道这是您的协议 主机来自Gopal指示 希望您的URL中不
python如何获取完整的os版本 OS 版本: 10.0.19045 暂缺 Build 19045 用了一些办法这能获取:10.0.19045后面的暂缺 暂缺 Build 19045 获取不到 有什么办法获取完整的10.0.19045 暂缺 Build 19045