मुझे यकीन है कि यह मूल है और शायद पहले पूछा गया था, लेकिन मैं केवल लिंक से एक्सएमएल का उपयोग शुरू कर रहा हूं।लिंक से एक्सएमएल - एक तत्व खोजें
मेरे पास एक साधारण एक्सएमएल है जिसे मुझे पढ़ने और लिखने की आवश्यकता है।
<Documents>
...
<Document>
<GUID>09a1f55f-c248-44cd-9460-c0aab7c017c9-0</GUID>
<ArchiveTime>2012-05-15T14:27:58.5270023+02:00</ArchiveTime>
<ArchiveTimeUtc>2012-05-15T12:27:58.5270023Z</ArchiveTimeUtc>
<IndexDatas>
<IndexData>
<Name>Name1</Name>
<Value>Some value</Value>
<DataType>1</DataType>
<CreationTime>2012-05-15T14:27:39.6427753+02:00</CreationTime>
<CreationTimeUtc>2012-05-15T12:27:39.6427753Z</CreationTimeUtc>
</IndexData>
<IndexData>
<Name>Name2</Name>
<Value>Some value</Value>
<DataType>3</DataType>
<CreationTime>2012-05-15T14:27:39.6427753+02:00</CreationTime>
<CreationTimeUtc>2012-05-15T12:27:39.6427753Z</CreationTimeUtc>
</IndexData>
...
</IndexDatas>
</Document>
...
</Documents>
मेरे पास "दस्तावेज़" नोड है जिसमें "दस्तावेज़" नोड्स का समूह शामिल है।
मेरे पास दस्तावेज़ और "इंडेक्सडाटा" नाम का GUID है। मुझे GUID द्वारा दस्तावेज़ ढूंढने की आवश्यकता है और जांच करें कि क्या उसके नाम पर "इंडेक्सडाटा" है या नहीं। यदि इसमें यह नहीं है तो मुझे इसे जोड़ने की आवश्यकता है।
किसी भी मदद की सराहना की जाएगी, क्योंकि मुझे मुश्किल तत्वों को पढ़ने और खोजने में समस्या है।
वर्तमान में मैं (सी # में) का उपयोग करने की कोशिश कर रहा हूँ:
IEnumerable<XElement> xmlDocuments = from c in XElement
.Load(filePath)
.Elements("Documents")
select c;
// fetch document
XElement documentElementToEdit = (from c in xmlDocuments where
(string)c.Element("GUID").Value == GUID select c).Single();
संपादित
xmlDocuments.Element("Documents").Elements("Document")
यह कोई परिणाम देता है, यहां तक कि यद्यपि xmlDocuments.Element ("दस्तावेज़") करता है। ऐसा लगता है कि मैं दस्तावेज़ नोड से दस्तावेज़ नोड्स प्राप्त नहीं कर सकता।
मुझे लगता है कि 'होना चाहिए doc.Descendants (" दस्तावेज़ ")' –
धन्यवाद, तय की। –