1
<P1>
タグは、<web-app>
の下に表示され、XMLファイルの<servlet>
タグの下に表示されます。 <servlet>
タグを<servlet-name>
とDUMMYで検索し、サブタグ<p1-name>
がB2 OR B3の場合は、<P1>
タグを削除します。 <P1>
タグを直接変更することはしません。<web-app>
XSLTを検索および削除するための変換
私はIDテンプレートと検索に精通していますが、削除には苦労しています。私は将来同様の問題に取り組むことができるように任意のソリューションですか?
入力XML
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true">
<P1>IGNORE1</P1>
<P1>IGNORE2</P1>
<servlet>
<servlet-name>TEST</servlet-name>
<servlet-class>com.mm.bb.servlet.TEST</servlet-class>
<P1>
<p1-name>A1</p1-name>
<p1-value>A11111</p1-value>
</P1>
<P1>
<p1-name>A2</p1-name>
<p1-value>A22222</p1-value>
</P1>
<P1>
<p1-name>A3</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>A4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>A5</p1-name>
<p1-value/>
</P1>
<junk>1</junk>
</servlet>
<servlet>
<servlet-name>DUMMY</servlet-name>
<servlet-class>com.mm.bb.servlet.DUMMY</servlet-class>
<P1>
<p1-name>B1</p1-name>
<p1-value>B11111</p1-value>
</P1>
<P1>
<p1-name>B2</p1-name>
<p1-value>A22222</p1-value>
</P1>
<P1>
<p1-name>B3</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>B4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>B5</p1-name>
<p1-value/>
</P1>
<junk>1333</junk>
</servlet>
<servlet>
<servlet-name>SAMMY</servlet-name>
<servlet-class>com.mm.bb.servlet.SAMMY</servlet-class>
<P1>
<p1-name>C1</p1-name>
<p1-value>B11111</p1-value>
</P1>
<P1>
<p1-name>C2</p1-name>
<p1-value>A22222</p1-value>
</P1>
<P1>
<p1-name>C3</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>C4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>C5</p1-name>
<p1-value/>
</P1>
<junk>12313</junk>
</servlet>
<D>
<D1>
<D11>admin</D11>
</D1>
<D2>
<D21>XX</D21>
</D2>
</D>
<E>
<E1>Yo</E1>
<E2>Hello</E2>
</E>
</web-app>
O/PのXMLが<p1-name>
はB2 OR B3のいずれかであったので、DUMMYとして<servlet-name>
と<servlet>
下<P1>
タグが削除されている場合、次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<web-app metadata-complete="true">
<P1>IGNORE1</P1>
<P1>IGNORE2</P1>
<servlet>
<servlet-name>TEST</servlet-name>
<servlet-class>com.mm.bb.servlet.TEST</servlet-class>
<P1>
<p1-name>A1</p1-name>
<p1-value>A11111</p1-value>
</P1>
<P1>
<p1-name>A2</p1-name>
<p1-value>A22222</p1-value>
</P1>
<P1>
<p1-name>A3</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>A4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>A5</p1-name>
<p1-value/>
</P1>
<junk>1</junk>
</servlet>
<servlet>
<servlet-name>DUMMY</servlet-name>
<servlet-class>com.mm.bb.servlet.DUMMY</servlet-class>
<P1>
<p1-name>B1</p1-name>
<p1-value>B11111</p1-value>
</P1>
<P1>
<p1-name>B4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>B5</p1-name>
<p1-value/>
</P1>
<junk>1333</junk>
</servlet>
<servlet>
<servlet-name>SAMMY</servlet-name>
<servlet-class>com.mm.bb.servlet.SAMMY</servlet-class>
<P1>
<p1-name>C1</p1-name>
<p1-value>B11111</p1-value>
</P1>
<P1>
<p1-name>C2</p1-name>
<p1-value>A22222</p1-value>
</P1>
<P1>
<p1-name>C3</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>C4</p1-name>
<p1-value/>
</P1>
<P1>
<p1-name>C5</p1-name>
<p1-value/>
</P1>
<junk>12313</junk>
</servlet>
<D>
<D1>
<D11>admin</D11>
</D1>
<D2>
<D21>XX</D21>
</D2>
</D>
<E>
<E1>Yo</E1>
<E2>Hello</E2>
</E>
</web-app>
を取得しかし、どのようにこれらはP1を取り除くますp1-nameはB2とB3?上記のXSLT does notは、O/P xmlを生成するために共有するI/P XMLで動作するようです。 – TestUser
http://xsltransform.hikmatu.com/nbUY4kiで私にとってうまく動作します。 –
ありがとうございます。それは動作します。私は以前より不安定な動作をしていたいくつかのIDEの問題を抱えていました。すべて今良い。魅力的な作品。 – TestUser