我是xml新手并且遇到了以下问题:
我有一个示例xml文件:
<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
ttp:profile="http://www.netflix.com/ns/ttml/profile/nflx-tt" ttp:frameRate="24"
ttp:frameRateMultiplier="1000 1001" ttp:dropMode="nonDrop" ttp:timeBase="smpte">
<head>
<styling>
<style xml:id="style.default" tts:fontFamily="Arial" tts:fontSize="100%" tts:fontStyle="normal" tts:fontWeight="normal" tts:backgroundColor="transparent" tts:color="white" />
</styling>
<layout>
<region xml:id="region.after.center" tts:displayAlign="after" tts:textAlign="center" tts:origin="10% 10%" tts:extent="80% 80%" />
</layout>
</head>
<body>
<div xml:lang="en">
<p begin="00:03:14:09" xml:id="p62" end="00:03:16:23" region="region.after.center" style="style.default">And that was it.<br />That was his story, right?</p>
<p begin="00:03:18:14" xml:id="p63" end="00:03:19:16" region="region.after.center" style="style.default">
<span tts:fontStyle="italic">So now...</span>
</p>
</div>
</body>
</tt>
现在我有一个简单的xpath://*[starts-with(name(),'d')]
所以它选择了div标签下的所有元素。
问题是在针对xml评估表达式时,我得到了
所有xmlns="http://www.w3.org/ns/ttml"
代码中均为<p></p>
,并且我在所有xmlns:tts="http://www.w3.org/ns/ttml#styling"
代码中都获得了<span></span>
。 Bewlo是返回内容的示例结果:
<p begin="00:00:34:23" xml:id="p2" end="00:00:36:00" region="region.after.center" style="style.default" xmlns="http://www.w3.org/ns/ttml">That was his story, right?</p>
<span tts:fontStyle="italic" xmlns:tts="http://www.w3.org/ns/ttml#styling">But there’s a woman there<br /> So now...</span>
那么,xml结构本身有什么问题吗?
向xmlns="http://www.w3.org/ns/ttml"
添加前缀时,我不会在<p></p>
标记中获取前缀,但仍会在<span></span>
标记中获取xmlns。
如果有人可以帮我解决这个问题,我感激不尽。提前致谢
请注意。我正在使用C#,这在评估xpath以提取匹配内容时会发生。