में किसी नोड के लिए क्वेरी करने के लिए XElement का उपयोग करके मैं इस तरह दिखने वाली एक csproj फ़ाइल से नोड खींचने की कोशिश कर रहा हूं, लेकिन इसे काम पर नहीं ला सकता - शायद नामस्थान घोषणा के कारण।नेमस्पेस
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<PropertyGroup>
<RegisterForComInterop>true</RegisterForComInterop>
यह बुरी तरह विफल रहता है:
XDocument cpo = XDocument.Load(file);
XmlNamespaceManager nsm = new XmlNamespaceManager(new NameTable());
nsm.AddNamespace("x", "http://schemas.microsoft.com/developer/msbuild/200");
IEnumerable<XElement> list3 = cpo.XPathSelectElements("//x:RegisterForComInterop[.='true']", nsm);
किसी को भी किसी भी विचार कृपया?
धन्यवाद।
मैं आखिरी पंक्ति को '.Where (x => bool.Parse (x.Value)) से बदल दूंगा क्योंकि हम 100% बूलियन स्ट्रिंग की उम्मीद कर रहे हैं (या फिर हम उम्मीद करते हैं और अपवाद ..)। – Shimmy
और बैच प्रदर्शन के लिए इस विकल्प की लागत कम ओवरहेड है। – Shimmy
@ शिमी: मैं बूल का उपयोग नहीं करता। यहां पर पर्स - मैं स्पष्ट रूप से 'बूल' में रूपांतरण का उपयोग करता हूं जो एक्सएमएल के बारे में जानता है। संपादित करेंगे –