konto usunięte

Temat: XMLDocument.GetElementById(\"ID\") nie dziala (dziala nie...

Witajcie,
nigdy nie uzywalem powyzszej metody, i nastal czas kiedy by sie przydala:)
Co nastepuje - mam XML przykladowy:
<VERSION ID="VERSION" VALUE="1.0" />

i probuje po nim uzyskac element VERSION poprzez:
doc.GetElementById("VERSION");
- dostaje jednak NullReference, czyli nie znaleziono.
Podpowiedz jakas co jest nie tak?

Moge uzyc XPath, ale to wydawalo mi sie prostsze;)Piotr Jędrkowiak edytował(a) ten post dnia 29.06.10 o godzinie 20:24

konto usunięte

Temat: XMLDocument.GetElementById(\"ID\") nie dziala (dziala nie...

Według informacji na tej stronie: http://msdn.microsoft.com/en-us/library/system.xml.xml...
może być potrzebny dokument DTD definiujący elementy z atrybutem ID.

Poniżej krótki kod dla elementu VERSION:

#using <System.Xml.dll>

using namespace System;
using namespace System::Xml;

int main(array<System::String ^> ^args)
{
String^ xmlText = gcnew String(
"<!DOCTYPE root ["+
"<!ELEMENT root ANY>" +
"<!ELEMENT version EMPTY>"+
"<!ATTLIST version id ID #REQUIRED>]>"+
"<root>"+
" <version id='VERSION'/>"+
"</root>");
XmlDocument^ doc = gcnew XmlDocument;
doc->LoadXml(xmlText);

XmlElement^ elem = doc->GetElementById( "VERSION" );
Console::WriteLine( elem->InnerText );

Console::ReadLine();
return 0;
}
Marcin Molak edytował(a) ten post dnia 29.06.10 o godzinie 21:07

konto usunięte

Temat: XMLDocument.GetElementById(\"ID\") nie dziala (dziala nie...

DTD rzeczywiscie sprawe rozwiazalo:) Dzieki za szybka podpowiedz:)



Wyślij zaproszenie do