相关疑难解决方法(0)

用java解析DOM中的规范化 - 它是如何工作的?

本教程中,我在代码中看到了DOM解析器的下面一行.

doc.getDocumentElement().normalize();
Run Code Online (Sandbox Code Playgroud)

为什么我们这样做正常化?
我读了文档,但我听不懂.

将所有Text节点放在此Node下面的子树的完整深度中

好的,那么有人可以告诉我(最好有图片)这棵树是什么样子的吗?

任何人都可以解释为什么需要规范化吗?
如果我们不规范化会发生什么?

java xml computer-science dom

230
推荐指数
3
解决办法
12万
查看次数

Java - 使用DOM解析xml

我试图解析以下xml.我可以轻松访问WeekNumber但无法访问EmployeeRatesLevelA和EmployeeRatesLevelB的子项.目标是将这些保存到具有字段WeekNumber和ArrayLists,EmployeeRatesLevelA和EmployeeRatesLevelB的类DataSet.谢谢.

<DataSet ActiveFrom="2011/04/06">  
    <WeekNumber>8</WeekNumber>  
    <EmployeeRatesLevelA>  
        <Rate>0</Rate>  
        <Rate>0.12</Rate>  
    </EmployeeRatesLevelA>  
    <EmployeeRatesLevelB>  
        <Rate>0.15</Rate>  
        <Rate>0.20</Rate>  
    </EmployeeRatesLevelB>  
</DataSet>  


    Document doc = loadXml("data.xml");  
    NodeList nodeList = doc.getElementsByTagName("DataSet");  
    for (int i = 0; i < nodeList.getLength(); i++) {  
        Node node = nodeList.item(i);  
        if (node.getNodeType() == Node.ELEMENT_NODE) {  
            Element element = (Element) node;  
            NodeList weekNumberList = element.getElementsByTagName("WeekNumber");  
            Element weekElement = (Element) weekNumberList.item(0);  
            NodeList textElementList = weekElement.getChildNodes();
            System.out.println("Weeknumber:"+ ((Node)textElementList.item(0)).getNodeValue().trim());
    }

    public static Document loadXml(String file) {
        try {
           return (DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new File(file)));
        } catch (SAXException e) {
        e.printStackTrace();
        } catch …
Run Code Online (Sandbox Code Playgroud)

java xml dom

0
推荐指数
1
解决办法
6768
查看次数

标签 统计

dom ×2

java ×2

xml ×2

computer-science ×1