SPiNMedlem sedan mars 20005 832 inlägg
Hallå!
När jag skapar ett XML-dokument mha Microsoft's XMLDOM i ASP, får jag all XML på en enda rad. Finns det något sätt att komma förbi det här, eller måste jag helt enkelt acceptera det? :(
Det är så jobbigt att kolla på när man öppnar filen med en texteditor.
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
VideMedlem sedan dec. 19996 094 inlägg
Som i ASP kan du lägga in vbcrlf i ASP-koden vilket resulterar i en radbrytning i klientkoden...
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
@ndersMedlem sedan juni 200026 914 inlägg
om du bara ska titta på filen blir det ganska bra om du lyfter upp den i internet explorer. om det är ren xml-data vill säga.
annars kan du ju ladda hem en 30-dagars på världens bästa editor, det tycker jag du ska göra i alla fall. du hittar xmlspy på www.xmlspy.com .
mvh,
------------------
mördar-anders, det är jag.
SPiNMedlem sedan mars 20005 832 inlägg
Hallå igen!
@nders> Jaja, de vet ja väl :)
Men eftersom att jag är en perfektionist vill jag att det ska vara snyggt även när man INTE öppnar XML-filen med IE.
Vide> Ok, hur?! Jag har försökt o försökt, men inte fått det att funka...
Så här gör jag när jag skapar XML-dokumenten:
<%
Dim objXML, objRoot, objElement, objNode
set objXML = Server.CreateObject("Microsoft.XMLDOM")
objXML.preserveWhiteSpace = False
objXML.async = False
set objRoot = objXML.createElement("rotelement")
objXML.appendChild objRoot
set objElement = objXML.createElement("underelement")
objRoot.appendChild objElement
set objNode = objXML.createElement("element")
objNode.Text = "XML skapad via ASP och XMLDOM"
objElement.appendChild objNode
set objElement = objXML.createElement("underelement")
objRoot.appendChild objElement
set objNode = objXML.createElement("element")
objNode.Text = "Men allt blir på en rad!"
objElement.appendChild objNode
set objProcess = objXML.createProcessingInstruction("xml", "version=""1.0"" encoding=""ISO-8859-1""")
objXML.insertBefore objProcess, objXML.childNodes(0)
objXML.save "C:\Inetpub\wwwroot\minXML.xml"
set objNode = Nothing
set objElement = Nothing
set objRoot = Nothing
set objXML = Nothing
%>
Resultatet i filen minXML.xml:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rotelement><underelement><element>XML skapad via ASP och XMLDOM</element></underelement><underelement><element>Men allt blir på en rad!</element></underelement></rotelement>
Hur kul är det att kolla på?! ;)
Jag vill ju ha det som när man skriver XML'en själv, dvs:
<?xml version="1.0" encoding="ISO-8859-1"?>
<rotelement>
<underelement>
<element>XML skapad via ASP och XMLDOM</element>
</underelement>
<underelement>
<element>Men allt blir på en rad!</element>
</underelement>
</rotelement>
Hur gör du när du lägger in tabbar och radbrytningar, Vide? :q
Använder du vbTab och vbCrLf i ASP'n, eller?
------------------
SPiN, bjorne.w@telia.com
-- They pretend to pay me, I pretend to work --
VideMedlem sedan dec. 19996 094 inlägg
Hmm... ja när du skapar det via XMLDOM så vet jag inte (läste inte ditt första inlägg så bra ;)), det funkar ju självklart bara om du skapar ditt dokument via fso.
Men det kanske finns någon parameter för att dens skall skapa den som du vill, men det vet jag inte i huvudet...
------------------
Vide rox = new Vide();
rox.learn("C#");
webeye.nu
clownMedlem sedan juni 2000126 inlägg
Hej,
om du kör xml filen med ett xsl-som bara kopierar alla dina noder men som lägger till följande kommando längst upp:
<xsl:output method="xml" indent="yes"/>
så kommer din xml att transformeras genom xsl till ett nytt xml men nu med alla taggarna indenterade!
Har inte provat det själv, men jag tror det bör fungera!
Lycka till
/Jonas
------------------
Jonas Florin
-Din gycklare i vardagen-
[Redigerat av clown den 23 sep 2001]