我正在解析Word docx文档,在文本中运行 ,有类似于以下内容的元素经常发生:
<w:t xml:space="preserve"></w:t>
下面一行中的 run 变量是 XElement ,我希望能够获取 xml:space 的属性值,我怀疑我需要做类似的事情:
var value = run.Attributes(xml + "space")
但我不知道 xml 的 XNamespace 声明应该是什么。有人可以告诉我正确的命名空间声明是什么,或者提供获取属性值的替代方法。
答案 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;
}