使用 C# 检测 xml:space=“preserve” 属性
本文关键字:preserve 属性 space 检测 xml 使用 | 更新日期: 2023-09-27 18:36:14
我正在解析Word docx文档,在文本运行中,经常出现类似于以下内容的元素:
<w:t xml:space="preserve"></w:t>
下面一行中的运行变量是一个 XElement,我希望能够获取 xml:space 的属性值,我怀疑我需要做这样的事情:
var value = run.Attributes(xml + "space")
但我不知道xml的XNamespace声明应该是什么。有人可以告诉我正确的命名空间声明是什么,或者提供获取属性值的替代方法。
通过更多的挖掘,我确定(像codemonkey一样)命名空间确实是 http://www.w3.org/XML/1998/namespace,但实际上不需要直接导入它。首先确保使用包含 System.Xml.Linq,然后声明:
XName xml_space = XNamespace.Xml + "space";
然后获取属性值:
string value= "";
var attribute = run.Attributes(xml_space).FirstOrDefault();
if(attribute != null)
{
value = attribute.Value;
}