出于某种原因,我今天早上有一个大脑屁。
我无法从以下代码中获取任何内容...它总是弹出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>
答案 0 :(得分:1)
如果metabase.xml具有默认命名空间声明(即xmlns="http://example.com/"
),请确保您的VB代码
Imports <xmlns="http://example.com">
。当然,您需要确保将http://example.com/
调整为XML文档中使用的实际URL。
如果您仍然遇到问题,请向我们展示一份XML样本。