xml中读取数组的方法是什么?
时间: 2024-09-06 22:01:26 浏览: 72
PHP实现使用DOM将XML数据存入数组的方法示例
在XML中读取数组通常涉及到解析XML文档并找到代表数组的节点。在Java中,可以使用如DOM, SAX或JAXB等XML解析技术来实现这一点。下面是一个简化的例子,展示了如何使用DOM解析器读取XML中的数组:
首先,假设有一个XML文档如下所示,其中包含了一个数组的信息:
```xml
<root>
<array>
<element>1</element>
<element>2</element>
<element>3</element>
</array>
</root>
```
然后,使用Java代码读取这个数组:
```java
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.DocumentBuilder;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
import java.util.ArrayList;
import java.util.List;
public class XMLToArray {
public static void main(String[] args) {
try {
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document document = builder.parse("path/to/your/xmlfile.xml");
Element root = document.getDocumentElement();
NodeList arrayNodeList = root.getElementsByTagName("array");
if (arrayNodeList.getLength() > 0) {
Element arrayElement = (Element) arrayNodeList.item(0);
NodeList elementNodeList = arrayElement.getElementsByTagName("element");
List<Integer> list = new ArrayList<>();
for (int i = 0; i < elementNodeList.getLength(); i++) {
String elementText = elementNodeList.item(i).getTextContent();
list.add(Integer.parseInt(elementText));
}
// 现在list中包含了XML数组中的所有元素
System.out.println(list);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
```
这段代码首先创建了一个`DocumentBuilder`来解析XML文件,然后获取了代表根元素的`Document`对象。之后,代码遍历了所有名为"array"的节点,并从每个数组节点中读取所有的"element"子节点,将它们的内容添加到一个`List`中。最后,这个`List`包含了所有从XML文件中读取的数组元素。
阅读全文