我有一个 ASP.NET (VB) 用户控件,我将在其中加载一个 XML 文档。该文档可能具有两个可能的根节点名称之一。我有 3 个可能的 xsl 文件需要通过 .NET 在 xml 文件中添加。添加 xsl 引用不是问题,但我遇到了确定要添加哪个 xsl 文件的问题。
在我加载 XML 文档之后,我需要确定的第一件事是什么是根节点。它可以是
<Document xmlns="urn:hl7-org:v3">
<templateId root="usetemplate_1" />
或者
<Document xmlns="urn:hl7-org:v3">
<templateId root="usetemplate_2" />
或者
<Record xmlns="urn:astm-org:REC">
<objectId>useobjectid</objectId>
请注意,前两个有一个命名空间,第三个有一个不同的命名空间(也不知道如何在我的大脑中协调它)。
这些选项中的每一个都有一个要引用的不同 xsl 文件。正如我所说,我在另一个可以重用的地方有类似的代码,这只是确定要引用的正确文件的问题。到目前为止我有这个:
Dim m_xmld As XmlDocument
Dim m_nodelist As XmlNodeList
Dim m_node As XmlNode
m_xmld = New XmlDocument
m_xmld.Load(Me.XMLFileName)
Dim nsmgr As New XmlNamespaceManager(m_xmld.NameTable)
nsmgr.AddNamespace("x", "urn:hl7-org:v3")
m_nodelist = m_xmld.SelectNodes("x:Document/", nsmgr)
For Each m_node In m_nodelist
Next
我不知道在 for each/next 行之间放置什么来确定上面的选项中的哪一个,或者这是否是必要的并且可以通过不同的方式更有效地完成。