簡體   English   中英

Java DOM搜索XML

[英]java dom search xml

你好,我有這個XML

<?xml version="1.0" encoding="utf-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="new2.xsl"?>
<patients>
    <patient>
    <stoixeia_astheni>
        <arithmos_eksetasis>1</arithmos_eksetasis>
        <imerominia_eksetasis>11/12/2005</imerominia_eksetasis>
        <amka>14385</amka>

    </stoixeia_astheni>
    <stoixeia_epikoinonias>
        <dieuthinsi>Μητσοπούλου 20</dieuthinsi>

    </stoixeia_epikoinonias>
    <loipa_stoixeia>
        <fylo>Aρρεν</fylo>

    </loipa_stoixeia>
    </patient>
    <patient>
    same code here
    </patient>

</patients>

我想按amka值搜索此文件。 我已經試過了:

 Document doc = docBuilder.parse(filepath);
            NodeList root= doc.getDocumentElement().getChildNodes();
            for(int i=0; i<root.getLength(); i++){
                if(root.item(i).getChildNodes().item(0).getChildNodes().item(2).getNodeValue()=="14385"){
                    pw.println("Gataki<br>");
                }
            }

但是發生運行時錯誤

任何幫助將是有用的。

使用這個xpath

DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = factory.newDocumentBuilder();
Document doc = builder.parse(<uri_as_string>);
XPathFactory xPathfactory = XPathFactory.newInstance();
XPath xpath = xPathfactory.newXPath();
XPathExpression expr = xpath.compile("/patients/patient/stoixeia_astheni/amka/text()");
NodeList nl = (NodeList) expr.evaluate(doc, XPathConstants.NODESET);

以防萬一看看這個xpath語法是

/   Selects from the root node
//  Selects nodes in the document from the current node that match the selection no matter where they are
.   Selects the current node
..  Selects the parent of the current node
@   Selects attributes

暫無
暫無

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

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