zoukankan      html  css  js  c++  java
  • sax xpath读取xml字符串

    public static void main(String[] args) throws ParserConfigurationException,
    SAXException, IOException, XPathExpressionException {
    // DocumentBuilderFactory domFactory = DocumentBuilderFactory
    // .newInstance();
    // domFactory.setNamespaceAware(true); // never forget this!
    // DocumentBuilder builder = domFactory.newDocumentBuilder();
    // Document doc = builder.parse("c:/solr.xml");
    // XPathFactory factory = XPathFactory.newInstance();
    // XPath xpath = factory.newXPath();
    // Node nd = (Node)xpath.evaluate("solr/cores/@adminPath", doc, XPathConstants.NODE);
    // String txt = nd.getNodeValue();
    // System.out.println(txt);
    //
    // //多核循环读取,属性读取
    // XPath mulXpath = factory.newXPath();
    // Object o = mulXpath.evaluate("solr/cores/core", doc, XPathConstants.NODESET);
    // NodeList nodes = (NodeList) o;
    // for (int i = 0; i < nodes.getLength(); i++) {
    // Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // // String opt = DOMUtil.getAttr(node, "name", null);
    // // System.out.println(opt);
    // System.out.println(node.getNodeName());
    // Node eNode = node.getFirstChild();
    // System.out.println(eNode.getNodeValue());
    // System.out.println(node.getNodeType());
    // }
    String strXml = "<?xml version="1.0" encoding="utf-8"?><class><stu><id>1,2,3</id></stu></class>";

    DocumentBuilderFactory domFactory = DocumentBuilderFactory
    .newInstance();
    domFactory.setNamespaceAware(true); // never forget this!
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    InputStream inputStream = new ByteArrayInputStream(strXml.getBytes());;
    Document doc = builder.parse(inputStream);
    XPathFactory factory = XPathFactory.newInstance();
    XPath xpath = factory.newXPath();
    //Node nd = (Node)xpath.evaluate("class/stu/@id", doc, XPathConstants.NODE);
    //String txt = nd.getNodeValue();
    // System.out.println(txt);

    //多核循环读取,属性读取
    XPath mulXpath = factory.newXPath();
    Object o = mulXpath.evaluate("class/stu/id", doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) o;
    for (int i = 0; i < nodes.getLength(); i++) {
    Node node = nodes.item(i);
    // Node aNode =(Node) node.getAttributes().getNamedItem("name");
    // System.out.println(aNode.getNodeValue());
    // String opt = DOMUtil.getAttr(node, "name", null);
    // System.out.println(opt);
    System.out.println(node.getNodeName());
    Node eNode = node.getFirstChild();
    System.out.println(eNode.getNodeValue());
    System.out.println(node.getNodeType());
    }
    }

  • 相关阅读:
    Java开发中RMI和webservice区别和应用领域
    Restful与webService区别
    从航空看创新(厚积而薄发,必须要研究掌握并且熟练前人已经研究出的东西,才能谈得上创新)
    MM常用的双关语(男士必读)
    C++调用C#库简单例程
    解密Arm中国:全球最具影响力的芯片公司中国布局浮出水面
    什么是 C 和 C ++ 标准库?
    net core (下)
    NET Core断点续传
    scikit-learn 为机器学习
  • 原文地址:https://www.cnblogs.com/xjyggd/p/4678800.html
Copyright © 2011-2022 走看看