javaでXpathを使う(2) の変更点
Top / javaでXpathを使う(2)
- 追加された行はこの色です。
- 削除された行はこの色です。
- javaでXpathを使う(2) へ行く。
- javaでXpathを使う(2) の差分を削除
*javaでXpathを使う(2) [#mab7e333] 該当するXPathの要素があるかどうか知りたかったので作ったクラス。 import java.io.StringReader; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.w3c.dom.NodeList; import org.xml.sax.InputSource; public class UseXpath { Document docRdf = null; XPath xpath = null; public UseXpath(String dcndl) throws Exception { InputSource is = new InputSource(new StringReader(dcndl)); DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); factory.setNamespaceAware(true); DocumentBuilder builder; builder = factory.newDocumentBuilder(); docRdf = builder.parse(is); XPathFactory xPathFactory = XPathFactory.newInstance(); xpath = xPathFactory.newXPath(); } // 該当するXpathのノード数を返却 public int getElementsCount(String expression) throws XPathExpressionException { Object result = xpath.evaluate(expression, docRdf, XPathConstants.NODESET); NodeList list = (NodeList) result; return list.getLength(); } // 該当するXpathのノードリストを返却 public NodeList getElements(String expression) throws XPathExpressionException { Object result = xpath.evaluate(expression, docRdf, XPathConstants.NODESET); return (NodeList) result; } }