У меня есть следующий код XML:Использование XPath для выбора узлов за пределами нормальной последовательности XSL: для-каждого
<?xml version="1.0" encoding="UTF-8"?>
<Collection>
<Content>
<ID>12</ID>
<Type>Content</Type>
<Title>Office Location #1</Title>
<QuickLink>/office.aspx?id=12</QuickLink>
<Teaser>
<p>
<span class="infoBold">My Group</span>
<br />
WPO
<br />
Office Location #1
<br />
Wp, NY 090801
<br />
986.362.3265
</p>
</Teaser>
<Html>
<root>
<Location>
<location />
<office>WPO</office>
<Address>
<image>
<img src="someing.png" />
</image>
<Address1>Office Location #1</Address1>
<Address2 />
<City>Wp</City>
<State>NY</State>
<zip>09081</zip>
<phone>986.362.3265</phone>
<fax />
<urgent_care_phone />
</Address>
</Location>
</root>
</Html>
</Content>
<Content>
<ID>48</ID>
<Type>Content</Type>
<Title>Office Location #3</Title>
<QuickLink>/office.aspx?id=48</QuickLink>
<Teaser>
<p>
<span class="infoBold">My Group</span>
<br />
WPO
<br />
Office Location #3
<br />
Wp, NY 090801
<br />
986.362.3265
</p>
</Teaser>
<Html>
<root>
<Location>
<location />
<office>WPO</office>
<Address>
<image>
<img src="someing.png" />
</image>
<Address1>Office Location #3</Address1>
<Address2 />
<City>Wp</City>
<State>NY</State>
<zip>09081</zip>
<phone>986.362.3265</phone>
<fax />
<urgent_care_phone />
</Address>
</Location>
</root>
</Html>
</Content>
<Content>
<ID>36</ID>
<Type>Content</Type>
<Title>Office Location #2</Title>
<QuickLink>/office.aspx?id=36</QuickLink>
<Teaser>
<p>
<span class="infoBold">My Group</span>
<br />
WPO
<br />
Office Location #2
<br />
Wp, NY 090801
<br />
986.362.3265
</p>
</Teaser>
<Html>
<root>
<Location>
<location>WP</location>
<office>WPO</office>
<Address>
<image>
<img src="someing.png" />
</image>
<Address1>Office Location #2</Address1>
<Address2 />
<City>Wp</City>
<State>NY</State>
<zip>09081</zip>
<phone>986.362.3265</phone>
<fax />
<urgent_care_phone />
</Address>
</Location>
</root>
</Html>
</Content>
</Collection>
Я хочу, чтобы отобразить следующий формат:
FOR EACH ENTRY inside `Collection/Content/`:
Html/root/Location/location (if not blank show it)
Html/root/Location/Address {
/Address1
/Address2 (if not blank show it)
/City
/State
/zip
/phone
/fax (if not blank show it)
}
Html/root/Location/location (if not blank show it)
Html/root/Location/Address {
/Address1
/Address2 (if not blank show it)
/City
/State
/zip
/phone
/fax (if not blank show it)
}
Html/root/Location/location (if not blank show it)
Html/root/Location/Address {
/Address1
/Address2 (if not blank show it)
/City
/State
/zip
/phone
/fax (if not blank show it)
}
Я пытаясь получить QuickLink
<xsl:for-each select="Collection/Content/Html">
<div class="serviceHolder brClear">
<xsl:value-of select="root/Location/Address/Address1" />
<xsl:value-of select="root/Location/Address/Address2" />
<xsl:value-of select="root/Location/Address/City" />
<xsl:value-of select="root/Location/Address/State" />
<xsl:value-of select="root/Location/Address/zip" />
<xsl:value-of select="root/Location/Address/phone" />
<a href="{QuickLink}" title="Test">Get Direction</a>
</div>
</xsl:for-each>
Хотя я использую Collection/Content/Html
в наличии для каждого, как я возвращаюсь к Collection/Content/QuickLink
для ссылки якорь здесь:
<a href="{QuickLink}" title="Test">Get Direction</a>
Если вы хотите получить полезные ответы, убедитесь, что весь ваш код появился, и ваш ожидаемый результат * prececisely *, что вы хотите. (т. е. если вы хотите HTML, напишите HTML, а не какое-то смутное mish-mash из фигурных скобок, скобок и слэшей.) – Tomalak
Также, пожалуйста, правильно выберите свой заголовок. Речь идет не о том, как использовать XSLT для отображения XML в браузере; это о стандартном выборе XPath, связанном с кодом в/около конструкции 'xsl: for-each'. Отредактировано до * Использование XPath для выбора узлов вне нормальной последовательности xsl: for-each *. – kjhughes
Спасибо. Думаю, теперь это имеет больше смысла. Поэтому любая идея о том, как получить «QuickLink» – SearchForKnowledge