Chciałbym zapytać o obiekt XDocument
dla danej ścieżki (np. "/ Path/to/element/I/want"), ale nie wiem, jak kontynuować.Jak mogę zapytać XDocument za pomocą "ścieżki"?
Odpowiedz
czegos potrzebowalem podobny do tego może pracować:
var path = "/path/to/element/I/want";
var route = path.Split(new []{'/'}, StringSplitOptions.RemoveEmptyEntries);
XElement result = null;
foreach (var node in route)
{
if (result == null)
{
result = _xmlDocument.Element(node);
}
else
{
result = result.Element(node);
}
}
return result;
'RemoveEmptyEntries' nie jest dobrym pomysłem,' // 'ma określone znaczenie w XPath i polega na wyszukiwaniu wszystkich potomków. – svick
Można użyć metody z System.Xml.XPath.Extensions
to zrobić.
Na przykład, jeśli chcesz wybrać jeden element, to użyłby XPathSelectElement()
:
var element = doc.XPathSelectElement("/path/to/element/I/want");
Zapytania nie muszą być proste ścieżki, jak to, co opisano, używają języka XPath.
Choć jest to nieco starsza poczta, należy zauważyć, że LINQ-to-XML
mogą być stosowane jako alternatywa dla System.XML.XPath
znaleźć elementy oparte na ścieżce wewnątrz XDocument
Przykład:
var results = x.Elements("path").Elements("to").Elements("element").Elements("I").Elements("want").FirstOrDefault();
Uwaga: Polecenie LINQ do XML może wymagać zmiany w celu uwzględnienia faktycznej struktury i/lub liczności XML.
muszę zrobić coś podobnego. Ten repo ma kilka testów jednostkowych demonstrujących zapytanie XDocument za pomocą XPathEvaluate()
- 1. Jak mogę zapytać o te dane hierarchiczne za pomocą LINQ?
- 2. Jak zapytać o BIOS za pomocą GRUB?
- 3. Znajdź elementy według atrybutów za pomocą XDocument
- 4. Jak mogę rozwiązać ścieżki bezwzględnych żądań za pomocą pakietu internetowego?
- 5. Jak zapytać Azure DocumentDB za pomocą instrukcji SELECT DISTINCT
- 6. Jak mogę posortować XDocument przez atrybut?
- 7. Jak mogę uzyskać NameTable z XDocument?
- 8. Jak zapytać o serwer NTP za pomocą C#?
- 9. Jak zapytać o widok couchdb za pomocą klucza złożonego?
- 10. Jak zapytać o indeks Elasticsearch za pomocą Pyspark i Dataframes
- 11. Najlepszy sposób na zapytanie XDocument za pomocą LINQ?
- 12. Czy mogę zmienić kolor wypełnienia ścieżki svg za pomocą CSS?
- 13. za pomocą znaku ":" w XDocument dla generowania programu Excel - C#
- 14. Pisanie do XML za pomocą XDocument, ale wiedząc, gdzie pisać
- 15. Jak mogę zapytać MongoDB o zakres dat za pomocą mgo i Go?
- 16. Jak mogę zapytać zapytanie cli w Cassandra za pomocą klucza złożonego?
- 17. Jak mogę zapytać o .local bonjour DNS?
- 18. Uzyskiwanie separatora ścieżki platformy za pomocą Boost.Filesystem
- 19. Algorytm najkrótszej ścieżki za pomocą słowników [Python]
- 20. Rozszerz CFC za pomocą ścieżki względnej
- 21. powershell: łączenie ścieżki za pomocą zmiennej
- 22. Ustawianie ścieżki podstawowej za pomocą narzędzia ConfigurationBuilder
- 23. Jak animować obiekt wzdłuż ścieżki GeoJSON za pomocą d3.js?
- 24. Jak serializować obiekt na XDocument?
- 25. Jak uzyskać atrybut obiektu XDocument
- 26. Jak utworzyć obiekt GroovyShell za pomocą ścieżki klas aplikacji kontekstowej
- 27. Jak uzyskać nazwę pliku z pełnej ścieżki za pomocą PHP?
- 28. Jak animować wzdłuż zakrzywionej ścieżki za pomocą grawitacji
- 29. jak uzyskać adres URL za pomocą ścieżki względnej
- 30. Jak obliczyć najkrótsze ścieżki pojedynczego źródła za pomocą OSRM?
możliwy duplikat [jak korzystać z XPath z XDocumentem?] (Http://stackoverflow.com/questions/6209841/how-to-use-xpath-with -xdocument) –
Możesz zobaczyć przykład wybierając różne ścieżki z definicjami przestrzeni nazw/bez itp. tutaj: http://stackoverflow.com/a/38272604/5838538. – Jelgab