Avatar billede obix Nybegynder
07. september 2005 - 14:45 Der er 2 kommentarer

Skift xsl i en xml med java

Hejsa.

Jeg får en masse forskellige xml filer ind og jeg skal tilknytte et xsl til dem alle sammen. Hvis de i forvejen har et skal det blot erstattes med det jeg har. Altså et link til det. Men hvordan gør jeg det?
Avatar billede obix Nybegynder
07. september 2005 - 15:39 #1
Det der skal indsættes er følgende.

<?xml-stylesheet type="text/xsl" href="OasisUblOrder1-0.xsl"?>

Er det en node? og hvad type er det hvis det er?
Avatar billede obix Nybegynder
07. september 2005 - 15:51 #2
Ok har fundet ud af det er en PROCESSING_INSTRUCTION_NODE
Så jeg har løst det således. Kom endelig med kritik eller en bedre løsning hvis i har en.
NodeList nodeList = xmlDoc.getChildNodes();
            boolean xslFound = false;
            for (int i = 0; i < nodeList.getLength(); i++) {
                if(nodeList.item(i).getNodeName().equalsIgnoreCase("xml-stylesheet"))
                {
                    xslFound = true;
                    Node noden = nodeList.item(i);
                    System.out.println(noden.getNodeType());
                    System.out.println(noden.getNodeValue());
                }
                //System.out.println(nodeList.item(i).getNodeName());
            }
            if(!xslFound)
            {
                Node newNode = xmlDoc.createProcessingInstruction("xml-stylesheet","type=\"text/xsl\" href=\"OasisUblOrder1-0.xsl\"");
                //newNode.setNodeValue("type=\"text/xsl\" href=\"OasisUblOrder1-0.xsl\"");
                xmlDoc.insertBefore(newNode, nodeList.item(0));
                System.out.println(dk.edbgruppen.core.xml.XMLHelper.serialize(xmlDoc));
            }
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
Kurser inden for grundlæggende programmering

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