0
我有一個xml文件,其結構如下所示。遞歸xml,如何根據子元素的條件選擇元素
問:我如何選擇/查詢那些孩子的總和(金額)不等於自己的金額的元素?
沒有固定數量的孩子,甚至有沒有孩子的元素,這些後來的元素不應該出現在選擇中。
從JSON bubbletree文件產生文件結構:
'<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="JSON">
<xs:complexType>
<xs:sequence>
<xs:element ref="label"/>
<xs:element ref="amount"/>
<xs:element ref="color"/>
<xs:element maxOccurs="unbounded" ref="children"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="label" type="xs:string"/>
<xs:element name="amount" type="xs:integer"/>
<xs:element name="color" type="xs:string"/>
<xs:element name="children">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="amount"/>
<xs:element ref="children"/>
<xs:element ref="color"/>
<xs:element ref="label"/>
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>'
從BubbleChart中JSON文件引起的。
的元素後,我在那裏一個標籤與「X」(手動放澄清,是不是有在現實的文件)在下面的XML文件開始:
'<?xml version="1.0" encoding="UTF-8"?>
<JSON>
<label>total</label>
<amount>30</amount>
<children>
<label>x 1</label>
<amount>10</amount>
<children>
<label>1.1</label>
<amount>5</amount>
</children>
<children>
<label>1.2</label>
<amount>6</amount>
</children>
</children>
<children>
<label>2</label>
<amount>10</amount>
<children>
<label>2.1</label>
<amount>5</amount>
</children>
<children>
<label>x 2.2</label>
<amount>5</amount>
<children>
<label>2.2.1</label>
<amount>3</amount>
</children>
<children>
<label>2.2.2</label>
<amount>1</amount>
</children>
<children>
<label>2.2.3</label>
<amount>3</amount>
</children>
</children>
</children>
<children>
<label>x 3</label>
<amount>10</amount>
<children>
<label>3.1</label>
<amount>5</amount>
</children>
<children>
<label>3.2</label>
<amount>6</amount>
</children>
</children>
</JSON>'
你想處理一個元素或僅其子的後裔? –
我想循環遍歷整個文件,並且我希望每個節點的金額值不等於其子元素中金額的總和。每個子元素都是新循環的基礎。 – Rense