2015-07-22 104 views
1

這是XML如何在Java DOM解析器使用屬性名稱和標記名,來獲取標籤的價值

<a> 
    <b name="dataSource"> 
    <property name="driverClass">oracle</property> 
    <property name="jdbcUrl">jdb:</property> 
    </b> 
</a> 

如何使用屬性名稱

爲獲得在標記的值例如:預言

<property name="driverClass">oracle</property> 

使用的標記名屬性和屬性值driverClass

我想甲骨文

+0

您是否想要所有具有attribute或ju的節點st屬性'節點? 「屬性」節點是否需要是'a'的孩子的'b'的孩子? – MadProgrammer

+0

我只需要屬性節點值使用屬性值 – codeCrack

+0

是的屬性節點需要b的孩子,這是一個 – codeCrack

回答

0

試試這個:

XML輸入:

< nodename attribute="value" > Something </ nodename> 

Java代碼:

NodesList subs = child.item(j).getChildNodes(); 

System.out.println(subs.item(0).getTextContent()); // >> Something 
1

您可以使用XPath查詢,東西像/a/b/property[@name='driverClass']/text()這將返回t的property節點,其具有的屬性name等於driverClass的EXT值,這是一個子b,這是a

例如兒童...

try { 
    DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); 
    Document doc = dbf.newDocumentBuilder().parse(JavaApplication244.class.getResourceAsStream("/Test.xml")); 

    XPathFactory xf = XPathFactory.newInstance(); 
    XPath xPath = xf.newXPath(); 
    XPathExpression expression = xPath.compile("https://stackoverflow.com/a/b/property[@name='driverClass']/text()"); 
    String value = expression.evaluate(doc); 
    System.out.println(value); 
} catch (ParserConfigurationException | SAXException | IOException | XPathExpressionException exp) { 
    exp.printStackTrace(); 
} 

其輸出oracle

查看w3schools, xPathHow XPath Works瞭解更多詳情

+0

的孩子非常感謝它的工作:) – codeCrack

+0

@ user2741894很高興它可以幫助 – MadProgrammer

相關問題