【发布时间】:2015-03-26 12:16:12
【问题描述】:
我正在尝试使用 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 解析器不会自己返回您期望的数据结构)。 SAX 解析器基本上在找到标记时调用您定义的方法。找到该标签后,您可以做自己想做的事情。