2015-07-22 102 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

相关问题