gpt4 book ai didi

java - 使用java中的SAX解析器从XML中获取所有标签和值

转载 作者:行者123 更新时间:2023-12-01 11:44:17 27 4
gpt4 key购买 nike

我正在尝试使用SAX解析xml。我希望以嵌套方式获取 xml 中的所有标签及其值。是否可以使用SAX解析器。谁能给我举个例子。 (我认为 SAX 比 w3 文档生成器更高效,所以我选择了它。而且我想知道我是否走在正确的道路上)我正在附加我的 java 程序

class MySAXApp extends DefaultHandler
{
public MySAXApp ()
{
super();
}
public void startDocument ()
{
System.out.println("Start document");
}
public void endDocument ()
{
System.out.println("End document");
}


public void startElement (String uri, String name,
String qName, Attributes atts)
{
System.out.println(atts.getLength());
if ("".equals (uri))
System.out.println("Start element: " + qName);
else
System.out.println("Start element: {" + uri + "}" + name);
}

}

这是我的 XML。这是有效的 xml 吗?这样写xml有没有错误

<?xml version="1.0" encoding="utf-8"?>
<CustomerReport xsi:schemaLocation="Customer.xsd">
<Customer>
<CustomerName>str1234</CustomerName>
<CustomerStatus>str1234</CustomerStatus>
<PurchaceOrders>
<PurchaceOrder>
<PurchaceOrderName>str1234</PurchaceOrderName>
</PurchaceOrder>
</PurchaceOrders>
</Customer>
</CustomerReport>

我是 XML 新手。有人可以帮我解决这个问题

最佳答案

当您说 SAX“更高效”时,您实际上的意思是 SAX 解析器执行最少的工作,将大部分工作留给应用程序。这意味着您(应用程序编写者)需要编写更多代码,并且您会发现这是相当棘手的代码。因为编写 XML 解析器的人是比您更有经验的 Java 编码员,所以您在代码中做的工作越多,而在解析器中做的工作越少,整个应用程序的效率可能就越低。因此,考虑到您的经验水平,我的建议是使用解析方法,让库尽可能多地完成工作。我建议使用 JDOM2。

关于java - 使用java中的SAX解析器从XML中获取所有标签和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29278217/

27 4 0