Newbi on XML。 すべてのDisplayNameからText属性を読み取ろうとしています。私の問題はRule要素の近くにあると考えてください。それは私の問題を解決する方法ですか?前もって感謝します! //マグナスC# - サブXmlnsを使用してXMLから属性を読み取る
<?xml version="1.0" encoding="utf-16"?>
<AppMgmtDigest xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest">
<DeploymentType >
<Requirements>
<Rule xmlns="http://schemas.microsoft.com/SystemsCenterConfigurationManager/2009/06/14/Rules">
<Annotation>
<DisplayName Text="Primary device Equals True"/>
</Annotation>
</Rule>
<Rule xmlns="http://schemas.microsoft.com/SystemsCenterConfigurationManager/2009/06/14/Rules">
<Annotation>
<DisplayName Text="Operating system One of {All Windows 10 (64-bit)}"/>
</Annotation>
</Rule>
</Requirements>
</DeploymentType>
</AppMgmtDigest>
XmlDocument xml = new XmlDocument();
xml.LoadXml(SDMPackageXML);
XmlNamespaceManager ns = new XmlNamespaceManager(xml.NameTable);
ns.AddNamespace("msbld","http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/AppMgmtDigest");
ns.AddNamespace("msbldr","http://schemas.microsoft.com/SystemCenterConfigurationManager/2009/06/14/Rules");
XmlNodeList nodlist = xml.SelectNode("/msbld:AppMgmtDigest/msbld:DeploymentType/msbld:Requirements/msbldr:Rule", ns/@Text);
は、合理的な出発点のように見えます。このコードでどのような問題があるのかを明確にすることは役に立ちます。 –
こんにちはアレクセイ!問題は、nodlist Countが0であることです。Countが2であると期待しています。 <ルールのxmlns = "http://schemas.microsoft.com/SystemsCenterConfigurationManager/2009/06/14/Rules"> –