的Java讀取ID XML我想一些數據添加到一個XML文件,如:與Android的
<people>
<person name="Jo">
<number>0</number>
...
</person>
<person name="Steve">
<number>5</number>
...
</person>
</people>
其中名稱是id值。我用這句話,因爲我需要知道,如果一些孩子有我要添加相同的名稱,所以我只需要編寫:
Document doc = docBuilder.parse(file);
Element person = doc.getElementById("myname");
所以我並不需要做循環所有nodechild。我的問題是,爲了這個,我需要定義一個模式,但Java的返回我的錯誤在下面的代碼的第四行:
DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
docFactory.setNamespaceAware(true);
docFactory.setValidating(true);
docFactory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w3.org/2001/XMLSchema");
docFactory.setAttribute("http://java.sun.com/xml/jaxp/properties/schemaSource", "my schema in a string");
DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
錯誤是:
java.lang.IllegalArgumentException異常:http://java.sun.com/xml/jaxp/properties/schemaLanguage
,我已導入:
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.dom.DOMSource;
import javax.xml.transform.stream.StreamResult;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
爲什麼我有這個錯誤?當然,我可以使用名稱作爲孩子,並讀取所有的NodeList,然後使用循環,但我認爲這種方式有更好的性能。 PS:我將模式作爲字符串插入。我不知道是否會出現錯誤,因爲錯誤出現在上一行,但如果我需要在文件中有模式,我該在哪裏保存文件?在原始文件夾?