-1
我解析java中的xml文件。我得到SEVERE:org.xml.sax.SAXParseException; lineNumber:1; columnNumber:1;序言中不能有內容。例外。如何在java中解析xml文件?
我解析java中的xml文件。我得到SEVERE:org.xml.sax.SAXParseException; lineNumber:1; columnNumber:1;序言中不能有內容。例外。如何在java中解析xml文件?
這裏是xml文件Stocks.xml,其中包含一些股票,價格,數量我們將在我們的Java xml解析示例中使用它。
<?xml version="1.0" encoding="UTF-8"?>
<stocks>
<stock>
<symbol>Citibank</symbol>
<price>100</price>
<quantity>1000</quantity>
</stock>
<stock>
<symbol>Axis bank</symbol>
<price>90</price>
<quantity>2000</quantity>
</stock>
</stocks>
下面是使用DOM解析器在Java中上面的XML文件解析的一個代碼示例:
import java.io.File;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
public class DOMExampleJava {
public static void main(String args[]) {
try {
File stocks = new File("Stocks.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(stocks);
doc.getDocumentElement().normalize();
System.out.println("root of xml file" + doc.getDocumentElement().getNodeName());
NodeList nodes = doc.getElementsByTagName("stock");
System.out.println("==========================");
for (int i = 0; i < nodes.getLength(); i++) {
Node node = nodes.item(i);
if (node.getNodeType() == Node.ELEMENT_NODE) {
Element element = (Element) node;
System.out.println("Stock Symbol: " + getValue("symbol", element));
System.out.println("Stock Price: " + getValue("price", element));
System.out.println("Stock Quantity: " + getValue("quantity", element));
}
}
} catch (Exception ex) {
ex.printStackTrace();
}
}
private static String getValue(String tag, Element element) {
NodeList nodes = element.getElementsByTagName(tag).item(0).getChildNodes();
Node node = (Node) nodes.item(0);
return node.getNodeValue();
}
}
Output:
root of xml file stocks
==========================
Stock Symbol: Citibank
Stock Price: 100
Stock Quantity: 1000
Stock Symbol: Axis bank
Stock Price: 90
Stock Quantity: 2000
這是解析使用Java
一個Xml的程序
聽起來好像你的XML文件是假的,或者你在使用XML解析器的過程中遇到了錯誤。請向我們展示該文件(或至少一個顯示問題的最小文件)和您的代碼。 –
試試這個:http://stackoverflow.com/questions/4569123/content-is-not-allowed-in-prolog-saxparserexception –
請添加您的錯誤的堆棧跟蹤,並提供錯誤發生的代碼。這裏沒有足夠的信息來處理。 –