0

こんにちは私はXSLTを使用してxmlを解析しようとしています

 <?xml version="1.0" encoding="utf-8"?>
    <posts>
      <row Id="1" PostTypeId="1" AcceptedAnswerId="13" CreationDate="2010-09-13T19:16:26.763" Score="45" ViewCount="8799" Body="&lt;p&gt;This is a common question by those who have just rooted their phones.  What apps, ROMs, benefits, etc. do I get from rooting?  What should I be doing now?&lt;/p&gt;&#xA;" OwnerUserId="10" LastEditorUserId="267" LastEditorDisplayName="" LastEditDate="2011-01-25T16:00:21.373" LastActivityDate="2011-08-02T14:44:12.740" CommunityOwnedDate="2011-01-25T08:44:10.820" Title="I've rooted my phone. Now what?" Tags="&lt;rooting&gt;" AnswerCount="8" CommentCount="5" FavoriteCount="31" />
      <row Id="2" PostTypeId="1" AcceptedAnswerId="4" CreationDate="2010-09-13T19:17:17.917" Score="10" ViewCount="619" Body="&lt;p&gt;I have a Google Nexus One with Android 2.2. I didn't like the default SMS-application so I installed Handcent-SMS. Now when I get an SMS, I get notified twice. How can I fix this?&lt;/p&gt;&#xA;" OwnerUserId="7" LastEditorUserId="7" LastEditorDisplayName="" LastEditDate="2010-09-13T19:25:52.433" LastActivityDate="2010-09-13T19:25:52.433" Title="I installed another SMS application, now I get notified twice" Tags="&lt;2.2-froyo&gt;&lt;sms&gt;&lt;handcent-sms&gt;&lt;applications&gt;&lt;notifications&gt;" AnswerCount="3" FavoriteCount="2" />
      <row Id="4" PostTypeId="2" ParentId="2" CreationDate="2010-09-13T19:19:23.200" Score="16" ViewCount="" Body="&lt;p&gt;You can turn off notification in your stock Messaging application by going into the settings dialog  (Menu button -&gt; Settings) and unchecking Notifications&lt;/p&gt;&#xA;" OwnerUserId="21" LastActivityDate="2010-09-13T19:19:23.200" CommentCount="1" />
      <row Id="5" PostTypeId="1" CreationDate="2010-09-13T19:19:35.360" Score="5" ViewCount="234" Body="&lt;p&gt;I have a Motorola DROID v1 that is running Froyo (2.2).  I've noticed that if my device sleeps for a while, when I wake it up it will not attempt to connect to the wireless AP in my home.  When I go to the wireless settings section, I see a note next to the AP entry that says 'disabled'.  If I click the entry and select 'connect', it connects right away.  It will remain connected until the next longish sleep, when it is again marked as disabled.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Is there any way to prevent this AP entry from being marked as disabled?&lt;/p&gt;&#xA;" OwnerUserId="9" LastActivityDate="2011-09-05T03:43:01.573" Title="Moto Droid v1 disabling primary Wireless AP" Tags="&lt;2.2-froyo&gt;" AnswerCount="1" CommentCount="7" FavoriteCount="1" />
      <row Id="6" PostTypeId="1" CreationDate="2010-09-13T19:20:47.643" Score="2" ViewCount="67" Body="&lt;p&gt;Google recently intoduced a new mechanism for developers to protect their applications from piracy - the License Verification Library.  I've been looking at incorporating this into my apps (in fact I have it working) but I'm concerned that it will adversely affect the user experience.&lt;/p&gt;&#xA;&#xA;&lt;p&gt;Has anybody had problems using apps that incorporate the licensing check?  Does it cause problems when you don't have Internet connectivity in order to do the validation?  Are there any other annoyances from an end-user perspective?&lt;/p&gt;&#xA;" OwnerUserId="19" LastActivityDate="2010-10-13T22:41:58.303" Title="Experiences with Google's new licensing service for apps?" Tags="&lt;market&gt;" AnswerCount="1" />
      <row Id="7" PostTypeId="2" ParentId="2" CreationDate="2010-09-13T19:20:52.027" Score="2" ViewCount="" Body="&lt;p&gt;Open the default messaging application, click the menu button and then Settings. Scroll down and disable &lt;strong&gt;Notifications&lt;/strong&gt;.&lt;/p&gt;&#xA;" OwnerUserId="27" LastActivityDate="2010-09-13T19:20:52.027" />

私はこれを使ってxmlを解析します

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="/">
            <xsl:for-each select="posts/row">
                <xsl:if test="@PostTypeId = 2">

                <xsl:variable name="parent" select="@ParentId"/>
                <xsl:for-each select="/posts/row">
                <xsl:if test="@PostTypeId = 1">
                 <xsl:variable name="patentVariable" select="$parent"/>
                               <xsl:if test="@ParentId = $patentVariable">
                    <field name ="$parentid"><xsl:value-of select="@Title" /></field>
                               </xsl:if>
                </xsl:if>   
                </xsl:for-each>
                </xsl:if>
            </xsl:for-each>
    </xsl:template>
</xsl:stylesheet>

forループ内に親IDを出力できません。これを行う方法を教えてもらえますか?

期待される出力

<field name="1">I've rooted my phone. Now what?</field>
4

1 に答える 1