XDocument读取MetaBase.xml

时间:2012-04-13 14:45:14

标签: .net vb.net linq linq-to-xml vb.net-2010

出于某种原因,我今天早上有一个大脑屁。

我无法从以下代码中获取任何内容...它总是弹出0,并且_Qry永远不会填充,即使_MBXml已正确填充(在调试过程中将鼠标悬停显示)

_MetaBasePath += "IIS6-MetaBase.xml" '"metabase.xml"
_MBXml = XDocument.Load(_MetaBasePath, LoadOptions.PreserveWhitespace)
_Qry = (From n In _MBXml.<IIsWebServer>
       Select New Typing.MetaBase() With {
           .Binding = Common.IsNull(Of String)(n.@ServerBindings, String.Empty)
       }).ToList()
MsgBox(_Qry.Count)

以下是IIS 6 metaBase.xml文件的示例...

<?xml version ="1.0"?>
<configuration xmlns="urn:microsoft-catalog:XML_Metabase_V64_0">
<IIsWebServer   Location ="/LM/W3SVC/1174460368"
    AuthFlags="0"
    SSLCertHash="8251cc2a9671150ac107aee3d78006b032f9bc36"
    SSLStoreName="MY"
    SecureBindings="184.106.185.111:443:"
    ServerAutoStart="TRUE"
    ServerBindings="184.106.185.111:80:beta.turbokits.com"
    ServerComment="TurboKits Beta"
>
</IIsWebServer>
</configurarion>

1 个答案:

答案 0 :(得分:1)

如果metabase.xml具有默认命名空间声明(即xmlns="http://example.com/"),请确保您的VB代码

Imports <xmlns="http://example.com">
部分中的

。当然,您需要确保将http://example.com/调整为XML文档中使用的实际URL。

如果您仍然遇到问题,请向我们展示一份XML样本。