Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/397.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.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 如何自己从XML文件中构建DOM树,即don';是否不使用DocumentBuilder.parse(xml)?_Java_Xml_Dom_Xml Parsing - Fatal编程技术网

Java 如何自己从XML文件中构建DOM树,即don';是否不使用DocumentBuilder.parse(xml)?

Java 如何自己从XML文件中构建DOM树,即don';是否不使用DocumentBuilder.parse(xml)?,java,xml,dom,xml-parsing,Java,Xml,Dom,Xml Parsing,假设有一个简单的XML文件,如下所示: <a> <b>hello</b> <c>world</c> </a> 你好 世界 我希望创建一个DOM树,而不使用Java库提供的解析器(我确实希望使用其他API和数据结构,如Element)。我对词法分析(标记化)部分比较熟悉,但是如何使用标记来构建树呢 树创建算法是我从数据结构类中学到的。问题是如何在Java库中利用给定的DOM框架?类似于元素,或节点,或DO

假设有一个简单的XML文件,如下所示:

<a>
    <b>hello</b>
    <c>world</c>
</a>

你好
世界
我希望创建一个DOM树,而不使用Java库提供的解析器(我确实希望使用其他API和数据结构,如Element)。我对词法分析(标记化)部分比较熟悉,但是如何使用标记来构建树呢

树创建算法是我从数据结构类中学到的。问题是如何在Java库中利用给定的DOM框架?类似于元素,或节点,或DOM API,它们可以帮助向DOM树插入新节点

是否有我可以学习的现有示例?

从开始,创建一个
DocumentBuilder
,并从中创建一个新的
Document
对象。从那里,
Document
有添加元素、属性等的方法,因此您可以使用这些方法生成文档

DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
//dbf.setNamespaceAware(true); //If you need namespace support turn this on, it is off by default

Document doc = dbf.newDocumentBuilder().newDocument();

//Add a root element
Element rootElement = doc.createElement("root");
doc.appendChild(rootElement);

Attr att = doc.createAttribute("my-attribute");
att.setValue("value");
rootElement.appendChild(att);

这不是一个真正的问题。或者更确切地说,有太多了。这是问“我怎样才能编写XML解析器?”你就是这么做的。或者使用这样的库。或者使用一个库中的部分。。文件中有包装标准。我只是想说清楚。您想学习如何使用API创建dom树吗。。或者您不关心xml编程,只想使用一些API创建xml。如果是后者,则可以使用JAXP框架生成XML。