我有如下的XML文件:如何查找带有名称空间前缀的Xml元素?
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ea:Stories ea:WWVersion="2.0" xmlns:aic="http://ns.adobe.com/AdobeInCopy/2.0" xmlns:ea="urn:SmartConnection_v3">
<ea:Story ea:GUID="D8BEFD6C-AB31-4B0E-98BF-7348968795E1" pi0="style="50" type="snippet" readerVersion="6.0" featureSet="257" product="8.0(370)" " pi1="SnippetType="InCopyInterchange"">
<ea:StoryInfo>
<ea:SI_EL>headline</ea:SI_EL>
<ea:SI_Words>4</ea:SI_Words>
<ea:SI_Chars>20</ea:SI_Chars>
<ea:SI_Paras>1</ea:SI_Paras>
<ea:SI_Lines>1</ea:SI_Lines>
<ea:SI_Snippet>THIS IS THE HEADLINE</ea:SI_Snippet>
<ea:SI_Version>AB86A3CA-CEBC-49AA-A334-29641B95748D</ea:SI_Version>
</ea:StoryInfo>
</ea:Story>
</ea:Stories>
正如你可以看到所有的元素都“EA:”这是一个命名空间前缀。
我正在写一个XSLT文件来显示SI_Snippet文本是“这是头条”。
如何在XSLT文件中编写xpath?它应该包含命名空间还是应该被排除?
//ea:Story[ea:SI_EL='headline']/ea:SI_Snippet or
//Story[SI_EL='headline']/SI_Snippet
其实都失败的在线工具,我用:http://xslt.online-toolz.com/tools/xslt-transformation.php
所以应该有另一种方式?
如果以后,它如何知道要查看哪个名称空间?我应该在运行时将名称空间传递给XslTransformer吗?
我明白你是否想要尖叫!但是我为这个项目使用了.NET 1.1,所以XDocument不存在,需要在XSLT中使用XPath。 –
@TheLight根据我的答案OP的作品;)除此之外,尝试我的编辑? – LukeHennerley