java - XML 解析错误 : org. xml.sax.SAXParseException

标签 java xml xml-parsing

这里显示了我的错误

[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>

最佳答案

更改 option 标记中的 value 属性。您需要用引号括住您的 ID 的值

<option value='id'>XYZ</option>

或者

<option value="id">XYZ</option>

您可以使用任一引文。单人或双人。

引用检查:XML Attributes

希望有帮助。:)

关于java - XML 解析错误 : org. xml.sax.SAXParseException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19108050/

相关文章:

swift - 从 RSS 或网页解析 XML

Java - 如何仅读取输入流的某些部分

java - Android 解析字符串中的引号

java - 如何将 XML 文件中的 x 和 y 坐标解析为 Java 中的 Point2D 数组?

javascript - 带有ajax xml请求的 Node js脚本不起作用

java - 当你有 xml 命名空间时如何解码?

java - BufferedReader 抛出异常,我不知道为什么

java - 将 XHTML 嵌入到 XML 中

java - Runtime.getRuntime 执行

java - 无法删除我的 ip_address 中的前导零