的步骤如下:
javax.xml.parsers
和org.w3c.dom
。DocumentBuilderFactory
对象,用于获取DocumentBuilder
对象。DocumentBuilder
对象的parse()
方法将XML文件解析为一个Document
对象。Document
对象的getElementsByTagName()
方法获取XML文件中指定标签名的元素节点列表。Element
对象的getAttribute()
方法获取节点的属性值。下面是一个示例代码,演示了如何从XML文件中获取属性并创建对象:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NodeList;
public class XMLParser {
public static void main(String[] args) {
try {
// 创建DocumentBuilderFactory对象
DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
// 创建DocumentBuilder对象
DocumentBuilder builder = factory.newDocumentBuilder();
// 解析XML文件,得到Document对象
Document document = builder.parse("example.xml");
// 获取所有<item>元素节点
NodeList nodeList = document.getElementsByTagName("item");
// 创建一个集合,用于存储创建的对象
List<Item> items = new ArrayList<>();
// 遍历<item>元素节点列表
for (int i = 0; i < nodeList.getLength(); i++) {
// 获取当前节点
Element element = (Element) nodeList.item(i);
// 获取属性值
String name = element.getAttribute("name");
int price = Integer.parseInt(element.getAttribute("price"));
// 创建对象并设置属性值
Item item = new Item();
item.setName(name);
item.setPrice(price);
// 将对象添加到集合中
items.add(item);
}
// 打印创建的对象
for (Item item : items) {
System.out.println(item);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
class Item {
private String name;
private int price;
// 省略构造方法和getter/setter方法
@Override
public String toString() {
return "Item [name=" + name + ", price=" + price + "]";
}
}
在上述示例代码中,我们假设存在一个名为example.xml
的XML文件,其内容如下:
<items>
<item name="item1" price="100" />
<item name="item2" price="200" />
<item name="item3" price="300" />
</items>
该XML文件包含了三个<item>
元素节点,每个节点都有name
和price
两个属性。通过解析XML文件,我们可以获取每个<item>
节点的属性值,并创建相应的Item
对象。最后,将创建的对象打印出来。
注意:上述示例代码中的Item
类是一个简单的Java类,用于表示一个商品项,其中包含了name
和price
两个属性。实际应用中,你可以根据需要创建自己的Java类,并根据XML文件的结构来获取属性值并创建对象。
领取专属 10元无门槛券
手把手带您无忧上云