这里显示我的错误
[Fatal Error] designations.xml:1:15: Open quote is expected for attribute "{1}" associated with an element type "value".
org.xml.sax.SAXParseException; systemId: file:/home/priyan/hr_openerp/XMLParserPro/src/com/priyan/designations.xml; lineNumber: 1; columnNumber: 15; Open quote is expected for attribute "{1}" associated with an element type "value".
at com.sun.org.apache.xerces.internal.parsers.DOMParser.parse(DOMParser.java:251)
at com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderImpl.parse(DocumentBuilderImpl.java:300)
at javax.xml.parsers.DocumentBuilder.parse(DocumentBuilder.java:205)
at com.priyan.XmlParserMain.main(XmlParserMain.java:20)
这里显示我的代码
public class XmlParserMain {
public static void main(String argv[]) {
try {
File fXmlFile = new File("/home/priyan/hr_openerp/XMLParserPro/src/com/priyan/designations.xml");
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(fXmlFile);//ERROR COMES IN THIS LINE
doc.getDocumentElement().normalize();
System.out.println("Root element :"+ doc.getDocumentElement().getNodeName());
NodeList nList = doc.getElementsByTagName("staff");
System.out.println("----------------------------");
for (int temp = 0; temp < nList.getLength(); temp++) {
Node nNode = nList.item(temp);
System.out.println("\nCurrent Element :" + nNode.getNodeName());
if (nNode.getNodeType() == Node.ELEMENT_NODE) {
Element eElement = (Element) nNode;
System.out.println("Designation: "+ eElement.getAttribute("OPTION"));
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我要解析的xml文件
<designations>
<OPTION value=3D777>3D Graphic Designer</OPTION>
<OPTION value=3D382>Account Executive</OPTION>
<OPTION value=3D108>Account Manager</OPTION>
<OPTION = value=3D1>Accountant</OPTION>
<OPTION = value=3D501>Accountant Inventory to Accountant = Payble
</OPTION>
<OPTION value=3D304>Accountant Payable</OPTION>
<OPTION value=3D84>Accounts Assistant</OPTION>
答案 0 :(得分:2)
更改value
标记中的option
属性。您需要包含
<option value='id'>XYZ</option>
OR
<option value="id">XYZ</option>
您可以使用其中任何一种语录。单人或双人。
供参考检查:XML Attributes
希望它有所帮助。:)
答案 1 :(得分:1)
xml标记的所有属性值都应该用引号括起来。所以你的Value属性应该用引号
括起来示例:
<person sex="female">
<firstname>Anna</firstname>
<lastname>Smith</lastname>
</person>