0
私は以下のXMLを持っています。私は別のXMLノードに基づいていくつかの要素を削除する必要があります。ノードをフィルタリングするスタイルシート
入力XML:
<json:object xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:json="http://www.ibm.com/xmlns/prod/2009/jsonx">
<json:object name="userProfile">
<json:string name="dob">1940-03-21</json:string>
<json:string name="gender">Male</json:string>
<json:string name="firstName">John</json:string>
<json:string name="lastName">Doe</json:string>
<json:string name="Prefix">Mr</json:string>
<json:string name="middleName">Jane</json:string>
<json:string name="email">[email protected]</json:string>
<json:string name="country">USA</json:string>
<json:array name="addresses">
<json:object>
<json:string name="type">1</json:string>
<json:string name="line1">ABCD St</json:string>
<json:string name="line2">Unit # 234</json:string>
<json:string name="city">Tampa</json:string>
<json:string name="state">FL</json:string>
<json:string name="country">USA</json:string>
<json:string name="zipCode">33637</json:string>
</json:object>
</json:array>
<json:array name="phones">
<json:object>
<json:string name="number">1234567890</json:string>
<json:string name="type">Home</json:string>
</json:object>
<json:object>
<json:string name="number">1231231230</json:string>
<json:string name="type">Cell</json:string>
</json:object>
<json:object>
<json:string name="number">8881212121</json:string>
<json:string name="type">Business</json:string>
</json:object>
</json:array>
</json:object>
</json:object>
フィルターのxml:私はスタイルシートを記述する必要がこれを使用して
<Filter>
<Item>gender</Item>
<Item>email</Item>
<Item>addresses</Item>
</Filter>
。
- これらの3つのフィルタをフィルタリングして(3つの要素を削除して)、残りの要素をそのままにしておくスタイルシート。
- フィルタに含まれる3つの要素と、 のみを取り込むスタイルシートは、残りの要素を削除します。
フィルタのリストは動的になる可能性があります。私は、その名前文書に記載されて要素を削除するには、XSLT
リストされた要素だけを残して残りの要素をすべて削除すると、不正な形式のXML(つまりXMLではない)文書になる可能性が非常に高くなります。 –
私は同意します。 2番目のユースケースでは、トップオブジェクトuserProfileがそこに存在する必要がありますが、これは忘れてしまいましたが、有効なxmlになります。また、オブジェクト名がuserProfileと異なる場合もあります。 – mnvbrtn