Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从单个DOM元素获取原始xml代码_Java_Xml_Parsing_Dom - Fatal编程技术网

Java 从单个DOM元素获取原始xml代码

Java 从单个DOM元素获取原始xml代码,java,xml,parsing,dom,Java,Xml,Parsing,Dom,我目前正在尝试使用DOM和Java语言获取xml的一部分。 例如,我希望能够将XML元素(标记)及其子节点的原始代码作为字符串 例如: XML文件: <bookstore> <book category="cooking"> <title lang="en">Everyday Italian</title> <author>Giada De Laurentiis</author> <year>2005</y

我目前正在尝试使用DOM和Java语言获取xml的一部分。 例如,我希望能够将XML元素(标记)及其子节点的原始代码作为字符串

例如:

XML文件:

<bookstore>
<book category="cooking">
<title lang="en">Everyday Italian</title>
<author>Giada De Laurentiis</author>
<year>2005</year>
<price>30.00</price>
</book>
<book category="children">
<title lang="en">Harry Potter</title>
<author>J K. Rowling</author>
<year>2005</year>
<price>29.99</price>
</book>
<book category="web">
<title lang="en">XQuery Kick Start</title>
<author>James McGovern</author>
<author>Per Bothner</author>
<author>Kurt Cagle</author>
<author>James Linn</author>
<author>Vaidyanathan Nagarajan</author>
<year>2003</year>
<price>49.99</price>
</book>
<book category="web" cover="paperback">
<title lang="en">Learning XML</title>
<author>Erik T. Ray</author>
<year>2003</year>
<price>39.95</price>
</book>
</bookstore>

日常意大利语
吉娅达·德·劳伦蒂斯
2005
30
哈利·波特
J K.罗琳
2005
29.99
XQuery启动
詹姆斯·麦戈文
伯特纳
库尔特·卡格尔
詹姆斯·林恩
瓦迪亚纳坦·纳加拉扬
2003
49.99
学习XML
埃里克·T·雷
2003
39.95
我们的目标是在第一本书中包含以下内容:

    <book category="cooking">
     <title lang="en">Everyday Italian</title>
     <author>Giada De Laurentiis</author>
     <year>2005</year>
     <price>30.00</price>
    </book>

日常意大利语
吉娅达·德·劳伦蒂斯
2005
30
我正在查找元素方法,但在其中找不到对此有用的方法


谢谢。

查看xpath。虽然xpath通常用于HTML上下文,但它代表XML路径语言,请尝试以下方法

//书籍[包含(@category,'cooking')]


研究xpath。虽然xpath通常用于HTML上下文,但它代表XML路径语言,请尝试以下方法

//书籍[包含(@category,'cooking')]


W3C DOM没有像其他Java XML API提供的那样方便的“toXML”,您需要使用
javax.XML.transform
API或
org.W3C.DOM.ls.LSSerializer
。假设变量
doc
包含DOM
Document
,可以获得
LSSerializer
的实例,如下所示:

// import org.w3c.dom.ls.*;

DOMImplementationLS ls = (DOMImplementationLS)doc.getImplementation();
LSSerializer ser = ls.createLSSerializer();
一旦有了其中一个,就可以使用以下命令将该文档中的任何
节点
序列化为XML字符串

String xml = ser.writeToString(node);

W3C DOM没有像其他Java XML API提供的那样方便的“toXML”,您需要使用
javax.XML.transform
API或
org.W3C.DOM.ls.LSSerializer
。假设变量
doc
包含DOM
Document
,可以获得
LSSerializer
的实例,如下所示:

// import org.w3c.dom.ls.*;

DOMImplementationLS ls = (DOMImplementationLS)doc.getImplementation();
LSSerializer ser = ls.createLSSerializer();
一旦有了其中一个,就可以使用以下命令将该文档中的任何
节点
序列化为XML字符串

String xml = ser.writeToString(node);

谢谢,但我用的是Java。我编辑了主要帖子。Xpath可以用原始XML重新运行字符串吗?请看一下,谢谢,但我使用的是Java。我编辑了主要帖子。Xpath可以用原始XML运行字符串吗?看看这个