Avatar billede tuvix Nybegynder
06. februar 2006 - 17:20 Der er 6 kommentarer og
1 løsning

Xml og namespace

Jeg har et problem med at selecte nogle noder i en xml streng. Min xml ser ud som følgende:

<item rdf:about="http://ekstrabladet.dk/visartikel.iasp?pageid=333867" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/">
    <title>title</title>
    <link>link</link>
    <dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">creator</dc:creator>
    <description>description</description>
    <dc:subject xmlns:dc="http://purl.org/dc/elements/1.1/">subject</dc:subject>
    <dc:date xmlns:dc="http://purl.org/dc/elements/1.1/">date</dc:date>
</item>

Jeg har oprettet en XmlNamespaceManager som indeholder namespace til 'rdf' og 'dc'. Jeg bruger følgende til at selecte noder med:
<<xmlnode>>.SelectSingleNode("//dc:creator", <<XmlNamespaceManager>>)

Problemet er hvis jeg forsøger at selecte 'dc:creator', 'dc:subject' eller 'dc:date' for jeg 'null' tilbage, men hvis jeg forsøger at selecte 'title', 'link' eller 'description' for jeg den pågældende node. Som jeg lige kan se det har det muligvis noget at gøre med at 'dc' namespacet ikke er med i item tagget, sammen med de andre namespaces, men da det ikke er en xml jeg selv har genereret har jeg ikke mulighed for at ændre dette.

Er der en måde at få tilføjet 'dc' namespace til item tagget på eller er problemet noget helt andet?
Avatar billede nielle Nybegynder
06. februar 2006 - 19:22 #1
Hvordan ser keden ud
Avatar billede nielle Nybegynder
06. februar 2006 - 19:23 #2
Lidt for hurtig der...

Hvordan ser din kode ud for at oprette og initialisere din XmlNamespaceManager?
Avatar billede tuvix Nybegynder
06. februar 2006 - 19:47 #3
XmlNamespaceManager objXmlNamespace = new XmlNamespaceManager(objFeedXml.NameTable);
objXmlNamespace.AddNamespace("rdf", "http://www.w3.org/1999/02/22-rdf-syntax-ns#");
objXmlNamespace.AddNamespace("dc", "http://purl.org/dc/elements/1.1");
ojXmlNamespace.AddNamespace("my", "http://purl.org/rss/1.0/");

objFeedXml er mit xml object. Det sidste namespace bruger jeg når jeg skal selecte en node som ikke har noget prefix.
Avatar billede nielle Nybegynder
06. februar 2006 - 20:25 #4
Hmm, den kan jeg godt nok ikke lige greje :^|
Avatar billede tuvix Nybegynder
11. februar 2006 - 19:50 #5
har selv løst problemet
Avatar billede nielle Nybegynder
11. februar 2006 - 20:16 #6
Cool, hvad var løsningen så?
Avatar billede tuvix Nybegynder
16. februar 2006 - 11:06 #7
Jeg fandt en xsl, som fjerene alle namespaces og prefixes fra en xml. Så jeg har faktisk ikke løst problemet, jeg har bare fundet en måde at omgå det på :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester