私はいくつかの異常な問題を抱えています。私の仕事は「XMLを構造化する」ことです。これは入力 XML です (例):
<documents>
<document>Review</document>
<document_id>REV#1</document_id>
<item>List of terms</item>
<item_id>10</item_id>
<item_description>Terms used in documents</item_description>
<item_attribute>Term</item_attribute>
<item_attribute_name>SA</item_attribute_name>
<item_attribute_value>Some Attribute</item_attribute_value>
<item_attribute_name>SOA</item_attribute_name>
<item_attribute_value>Some Other Attribute</item_attribute_value>
<document>Interface</document>
<document_id>AC-163</document_id>
<item>List of terms</item>
<item_id>15</item_id>
<item_description>Another item</item_description>
<item_attribute>Term</item_attribute>
<item_attribute_name>Name#1</item_attribute_name>
<item_attribute_value>Att#1</item_attribute_value>
<item_attribute_name>Name#2</item_attribute_name>
<item_attribute_value>Att#2</item_attribute_value>
</documents>
私がすべきことは、それを次のエンティティ構造に変換することです:
ドキュメント 1..* ドキュメント 1..1 アイテム 1..* アイテム 1..1 属性 1..* 属性
つまり、要素 'documents' には多くの 'document' を含めることができ、'document' には 'items' という名前の要素を 1 つだけ含めることができ、要素 'items' には多くの要素 'item' を含めることができます。
上記の例の期待される出力は次のとおりです。
<documents>
<document>
<document_id>REV#1</document_id>
<items>
<item>
<id>10</id>
<description>Terms used in documents</description>
<attributes>
<attribute>
<name>SA</name>
<value>Some Attribute</value>
</attribute>
<attribute>
<name>SOA</name>
<value>Some Other Attribute</value>
</attribute>
</attributes>
</item>
</items>
</document>
<document>
<document_id>AC-163</document_id>
<items>
<item>
<id>15</id>
<description>Another item</description>
<attributes>
<attribute>
<name>Name#1</name>
<value>Att#1</value>
</attribute>
<attribute>
<name>Name#2</name>
<value>Att#2</value>
</attribute>
</attributes>
</item>
</items>
</document>
</documents>
このタスクで問題が発生する必要があります.... 助けを求めてもよろしいですか? これはxmlを「構造化」するのは珍しいことです - 何かアイデアはありますか?
よろしくお願いします!