0

我一直试图从这个 xml 中找出宽度和高度:

<?xml version="1.0" encoding="utf-8"?>
<Collection MaxLevel="7" TileSize="256" Format="png" NextItemId="1" ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009">
  <Items>
    <I Id="0" N="0" Source="157_images/16.XML">
      <Size Width="1200" Height="900" />
      <Viewport Width="1" X="0" Y="0" />
    </I>
  </Items>
</Collection>

但这是不可能的,xml 本身看起来不像其他 xml 文件,我使用的代码是:

    path = "157.xml"
    Dim document = XDocument.Load(Server.MapPath(path))
    Dim Xml As String = document.ToString
    Dim myallelements As XElement = XElement.Parse(Xml)
4

2 回答 2

1

这种笨拙的语法包含了默认命名空间:

 Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
    Dim path As String = "C:\test\157.xml"
    Dim n As XmlNode
    Dim xm As New XmlDocument

    Dim nsmgr As New XmlNamespaceManager(xm.NameTable)
    nsmgr.AddNamespace("q", "http://schemas.microsoft.com/deepzoom/2009")

    xm.Load(path)
    n = xm.SelectSingleNode("/q:Collection/q:Items/q:I/q:Size", nsmgr)

    Debug.Print("width = " & n.Attributes("Width").Value & "  height = " & n.Attributes("Height").Value)

End Sub
于 2013-11-04T00:09:45.707 回答
0
 Dim size = myallelements...<Collection>...<Items>...<I>...<Size>
 Dim width = size.@Width.Value
 Dim Height = size.@Height
于 2013-11-04T00:10:11.910 回答