如何使用 XDocument C# 获取 xsi:noNamespaceSchemaLocation 属性的值
How can I get the value of a xsi:noNamespaceSchemaLocation attribute using XDocument C#
我有很多 XML 文件,它们具有各种 xsi:noNamespaceSchemaLocation 值。这些位于文档根节点的属性中。我需要从文件中读取 xsi:noNamespaceSchemaLocation 值。这应该不难,但我正在努力。
示例XML(这是根节点):
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:noNamespaceSchemaLocation="http://www.someSchemaLocation.xsd">
就是我要找的xsi:noNamespaceSchemaLocation的值。
我能做到:
string blah = myXdocument.Root.GetNamespaceOfPrefix("xsi").NamespaceName;
和这个 returns "http://www.w3.org/2001/XMLSchema-instance"
如您所料。
我试过:
string test = myXdocument.Root.Attribute("xsi" + "noNamespaceSchemaLocation").Value.ToString();
但是 returns 无效。
有什么想法吗?
将 blah
转换为 XNamespace
:
string test = myXdocument.Root.Attribute((XNamespace)blah + "noNamespaceSchemaLocation")
.Value.ToString();
我有很多 XML 文件,它们具有各种 xsi:noNamespaceSchemaLocation 值。这些位于文档根节点的属性中。我需要从文件中读取 xsi:noNamespaceSchemaLocation 值。这应该不难,但我正在努力。
示例XML(这是根节点):
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:dc="http://www.purl.org/dc/elements/1.1/"
xmlns:xlink="http://www.w3.org/1999/xlink"
xsi:noNamespaceSchemaLocation="http://www.someSchemaLocation.xsd">
就是我要找的xsi:noNamespaceSchemaLocation的值。
我能做到:
string blah = myXdocument.Root.GetNamespaceOfPrefix("xsi").NamespaceName;
和这个 returns "http://www.w3.org/2001/XMLSchema-instance"
如您所料。
我试过:
string test = myXdocument.Root.Attribute("xsi" + "noNamespaceSchemaLocation").Value.ToString();
但是 returns 无效。
有什么想法吗?
将 blah
转换为 XNamespace
:
string test = myXdocument.Root.Attribute((XNamespace)blah + "noNamespaceSchemaLocation")
.Value.ToString();