Jak mogę dołączyć dokument XML do węzła XML w C#?Dołącz dokument XML do węzła XML w C#?
Odpowiedz
XmlDocument
jest zasadzie XmlNode
, więc można dodać, że tak jak byś zrobił dla innych XmlNode
. Jednak różnica wynika z faktu, że ten nie należy do dokumentu docelowego, dlatego należy użyć metody ImportNode , a następnie wykonać załącznik.
// xImportDoc is the XmlDocument to be imported.
// xTargetNode is the XmlNode into which the import is to be done.
XmlNode xChildNode = xSrcNode.ImportNode(xImportDoc, true);
xTargetNode.AppendChild(xChildNode);
Może tak:
XmlNode node = ...... // belongs to targetDoc (XmlDocument)
node.AppendChild(targetDoc.ImportNode(xmlDoc.DocumentElement));
Marc
AFAIK, które są wymagane do ** import * węzeł, jeśli nie należy do bieżącej XmlDocument przed możesz go dołączyć. Zobacz moją odpowiedź. – Cerebrus
Tak, wydaje się, że naprawdę musisz wywołać funkcję ImportNode, ale * spowoduje * utworzenie kopii dokumentu Xml ..... –
Tak:
XmlNode imported = targetNode.OwnerDocument.ImportNode(otherDocument.DocumentElement, true);
targetNode.AppendChild(imported);
myślę, że to tworzy klona dokumentu chociaż.
Po uzyskaniu węzła głównego danego dokumentu XML można go dołączyć jako węzeł podrzędny danego węzła. Czy to ma sens?
Powiedzmy masz następującą konstrukcję:
następującą strukturę są przechowywane w XMLELEMENT nazwie XMLELEMENT:
</root>
i następującą strukturę są przechowywane w obiekt XMLNode o nazwie FooNode ;
<foo>
<bar>This is a test</bar>
<baz>And this is another test</baz>
</foo>
Następnie wykonaj następujące czynności:
XmlNode node = doc.ImportNode(FooNode.SelectSingleNode("foo"), true);
xmlElement.AppendChild(node);
Mam nadzieję, że ktoś pomoże
- 1. XML: dołączyć dokument xml do węzła innego dokumentu
- 2. XML IDREF inny dokument XML?
- 3. Zmień wartość węzła XML
- 4. Dodawanie atrybutów do węzła XML
- 5. Wymiana innertext węzła/elementu Xml
- 6. Dokument XML na ciąg?
- 7. Czy dokument XPathDocument wczytuje cały dokument XML?
- 8. Programowanie XML: wyodrębnianie określonego węzła
- 9. Parsowanie XML XML za pomocą DOM, aby uzyskać wartość węzła,
- 10. Jak sklonować dokument XML, w JavaScript?
- 11. dołącz plik xml za pomocą xmlwriter
- 12. Jak utworzyć dokument XML za pomocą XmlDocument?
- 13. Zaktualizuj wartość węzła XML w SQL Server
- 14. Prosty C XML parser
- 15. utwórz dokument tekstowy z otwartym XML
- 16. Zapytanie XPath dla węzła XML z dwukropkiem w nazwie węzła
- 17. W ASP.NET MVC, jak zwrócić dokument xml do widoku
- 18. Serializacja XML w C#
- 19. XML w C#
- 20. Powiąż dowolny dokument XML z WPF TreeView
- 21. C#: Pobieranie wszystkich węzłów dokumentu XML
- 22. C# - Element Xml z atrybutem i wartością węzła
- 23. C# .xml do .xlsx jak?
- 24. LINQ do XML przez C#
- 25. Dołącz elementem jako dziecko elementu Anti-XML
- 26. Jak dodać atrybut do węzła XML w Javie 1.4
- 27. Jak zmienić nazwę węzła XML nazwa
- 28. Uzyskaj numer wiersza z węzła xml - java
- 29. Próbując analizować drzewo XML z Linq do XML (C#)
- 30. wybieranie pojedynczego węzła XML za pomocą SQL
ah tak, ale co to jest xSrcNode? Dlaczego pojawia się komunikat o błędzie: Nie można zaimportować węzłów typu "Dokument". Jakiego rodzaju jest xTargetNode? – fijiaaron
@fijiaaron Musisz wybrać element główny z dokumentu: 'XmlNode xChildNode = xSrcNode.ImportNode (xImportDoc.DocumentElement, true);' – nmat
Jeśli twój XmlDoc jest obecnie wpisany jako XmlNode lub jeśli próbujesz zaimportować XmlNode można zamiast tego "XmlNode xChildNode = xSrcNode.ImportNode (xImportDoc.OwnerDocument.DocumentElement, true); –