【问题标题】:Detecting xml:space="preserve" attribute with C#使用 C# 检测 xml:space="preserve" 属性
【发布时间】:2015-01-05 20:24:12
【问题描述】:

我正在解析 Word docx 文档,并且在文本运行中 经常出现类似于以下内容的元素:

    <w:t xml:space="preserve"></w:t>

下一行中的 run 变量是一个 XElement 并且我希望能够获取 xml:space 的属性值和我怀疑我需要做类似的事情:

var value = run.Attributes(xml + "space")

但我不知道 xmlXNamespace 声明应该是什么。谁能告诉我正确的命名空间声明是什么,或者提供另一种获取属性值的方法。

【问题讨论】:

标签: c# xml xml-parsing


【解决方案1】:

通过更多的挖掘,我确定(如 codemonkey)命名空间确实是 http://www.w3.org/XML/1998/namespace,但实际上不需要直接导入它。首先确保 usings 包含 System.Xml.Linq,然后声明:

XName xml_space = XNamespace.Xml + "space";

然后去获取属性值:

string value= "";
var attribute = run.Attributes(xml_space).FirstOrDefault();
if(attribute != null)
    {
    value = attribute.Value;
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-25
    • 2013-09-08
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多