簡體   English   中英

如何從Java中的特定XML元素檢索

[英]how to retrieve from a specific XML element in java

我可以在我的方法中添加什么行代碼,以僅將標記名“ location”修改為Long,因為它包含名為“ address”的節點下的特定信息? 因此,如果我更新“顏色”或“大小”,那么我可以告訴nodeList:“僅當它在“地址”中包含123 Main Street時,才更改這些值。我已經嘗試了所有類型的“等於等”。注意:我創建了我使用object.getAddress作為我要檢查的變量的對象XML有50個條目:

<location>
    <address>123 Main Street</address>
    <color>red</color>
    <size>large</size>
</location>


public void changeValue(Document doc, String oldValue, String NewValue) throws         Exception {
    Element root = doc.getDocumentElement();
    NodeList childNodes = root.getElementsByTagName("location");
    for (int i = 0; i < childNodes.getLength(); i++) {
        NodeList subChildNodes = childNodes.item(i).getChildNodes();
        for (int j = 0; j < subChildNodes.getLength(); j++) {
            try {
                if (subChildNodes.item(j).getTextContent().equals(oldValue)) {
                    subChildNodes.item(j).setTextContent(NewValue);
                }
            } catch (Exception e) {
            }
        }
    }
    File file = new File("XMLDatabase.xml");
    save(file, doc);
}

我希望這有幫助!

for (int i = 0; i < childNodes.getLength(); i++) {
        NodeList subChildNodes = childNodes.item(i).getChildNodes();
        for (int j = 0; j < subChildNodes.getLength(); j++) {
            try {
                if (subChildNodes.item(j).getTextContent().equals("123 Main Street")) {
                    int temp=j;
                    subChildNodes.item(temp).setTextContent("value you want to set");
                    subChildNodes.item(temp+2).setTextContent("value you want to set");
                    subChildNodes.item(temp+4).setTextContent("value you want to set");
                }
            } catch (Exception e) {
            }
        }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM