Парсинг XML с XPath в Java [дубликат]

Похоже, вы должны использовать groupBy: ["group", "name"] вместо id.

К сожалению, связанная визуализация Grouped TreeMap относится к версии 1.0 d3Plus, здесь вы можете увидеть старые примеры, включая упомянутые https://d3plus.org/examples/1.0/ [114 ]. d3Plus-реагирует на использование версии 2.0 d3Plus, и при использовании компонента Treemap вы используете иерархию d3plus , и в этом случае визуализация в виде группы выглядит следующим образом https://d3plus.org/examples/d3plus -иерархия / Getting-Start / , без интерактивности вы хотите на клик.

Чтобы показать всплывающую подсказку со значением в этой версии, необходимо передать tooltipConfig конфигурацию.

const methods = {
  groupBy: ["group", "name"],
  data: [
    { value: 100, name: "alpha", group: "group 1" },
    { value: 70, name: "beta", group: "group 2" },
    { value: 40, name: "gamma", group: "group 2" },
    { value: 15, name: "delta", group: "group 2" },
    { value: 5, name: "epsilon", group: "group 1" },
    { value: 1, name: "zeta", group: "group 1" }
  ],
  tooltipConfig: {
    body: d => `
Value: ${d.value}
`, title: d => `${d.name}` } }

9
задан ROMANIA_engineer 8 March 2015 в 00:39
поделиться

3 ответа

По этой ссылке есть все, что вам нужно. В коротких:

 public static void main(String[] args) 
   throws ParserConfigurationException, SAXException, 
          IOException, XPathExpressionException {

    DocumentBuilderFactory domFactory = 
    DocumentBuilderFactory.newInstance();
          domFactory.setNamespaceAware(true); 
    DocumentBuilder builder = domFactory.newDocumentBuilder();
    Document doc = builder.parse("persons.xml");
    XPath xpath = XPathFactory.newInstance().newXPath();
       // XPath Query for showing all nodes value
    XPathExpression expr = xpath.compile("//person/*/text()");

    Object result = expr.evaluate(doc, XPathConstants.NODESET);
    NodeList nodes = (NodeList) result;
    for (int i = 0; i < nodes.getLength(); i++) {
     System.out.println(nodes.item(i).getNodeValue()); 
    }
  }
19
ответ дан 4 December 2019 в 10:05
поделиться

Я полагаю, что выражение XPath для этого было бы"//category/subCategoryList/category". Если Вы просто хотите детей корня category узел (принимающий это корневой узел документа), попробуйте"/category/subCategoryList/category".

2
ответ дан 4 December 2019 в 10:05
поделиться

Это будет работать на Вас:

NodeList nodes = (NodeList) xpath.evaluate("//category//subCategoryList/category",
inputSource, XPathConstants.NODESET);

Затем можно проанализировать детей категории, как Вы желаете.

0
ответ дан 4 December 2019 в 10:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: