检测xml:space ="保留"属性用C#

时间:2015-01-05 20:24:12

标签: c# xml xml-parsing

我正在解析Word docx文档,在文本中运行 ,有类似于以下内容的元素经常发生:

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

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

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

但我不知道 xml XNamespace 声明应该是什么。有人可以告诉我正确的命名空间声明是什么,或者提供获取属性值的替代方法。

1 个答案:

答案 0 :(得分:1)

通过更多的挖掘,我建立了(如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;
    }