[ASP/XML] Parser en speciale tekens.

Pagina: 1
Acties:
  • 100 views sinds 30-01-2008
  • Reageer

  • The Lord
  • Registratie: November 1999
  • Laatst online: 21:23
Ik heb de volgende situatie :
WebServer 1 met een lijst met namen in 'semi' XML.
code:
1
onzinnige HTML<sn>Lukáa</sn>bla bla

WebServer 2 die de lijst van WS1 ophaald en de 'semi' XML schoonmaakt.
code:
1
2
3
4
5
6
7
8
9
10
Set xmlHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
xmlHTTP.Open "GET", "http://WS1/data.html", False
xmlHTTP.Send ""
xmlHTTPResult = xmlHTTP.ResponseText

xStart = InStr(xmlHTTPResult,"<sn>") + 4
xEnd   = InStr(xmlHTTPResult,"</sn>")
If xStart < xEnd Then xVar = Mid(xmlHTTPResult, xStart, (xEnd - xStart)) Else xVar = ""

Response.Write xVar

Deze code moet met de voorbeeld data het volgende opleveren :

xStart = 15
xEnd = 24
xVar = "Lukáa"

Het probleem is dat de XML parser de naam 'Lukáa' niet goed kan interpreteren en vertaalt naar 'luk?', maar wél de juiste posities in de variabele 'xmlHTTPResult' teruggeeft.

Zodoende wordt xVar 'Luk?<'. Het '<' teken is dus het begin van de tag '</sn>'.

Eigenlijk ligt het echte probleem aan de WS1 zijde, waar in de gegenereerde HTML het volgende had moeten staan :
code:
1
<sn>Lukáa</sn>

In plaats van :
code:
1
<sn>Lukáa</sn>

Maar WS1 bestaat uit een applicatie (Microsoft Meta Directory Services, voorheen ZoomIt) die toevallig ook zelf de html genereert. Daar is dus niets te wijzigen.

Nu is dus de vraag of iemand een truuk kent om de speciale tekens te 'behouden'. Ik heb het bijvoorbeeld al met 'Server.HTMLEncode' geprobeerd (zelfde resultaat). Geprobeerd om verschillende 'Content-Type' request headers mee te sturen.

Ik weet geen work-arounds/oplossingen meer. Help!

geeft geen inhoudelijke reacties meer


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
In principe is de XML file volkomen correct, het is namelijk niet een teken wat verplicht ge-escaped moet worden. De oorzaak ligt denk ik eerder in de opgegeven encoding of een flink probleem in de gebruikte parser.

Misschien dat je hier trouwens beter XPath kan gebruiken om gegevens uit je XML file te halen :) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

Op woensdag 05 december 2001 20:58 schreef mbravenboer het volgende:
In principe is de XML file volkomen correct, het is namelijk niet een teken wat verplicht ge-escaped moet worden. De oorzaak ligt denk ik eerder in de opgegeven encoding of een flink probleem in de gebruikte parser.

Misschien dat je hier trouwens beter XPath kan gebruiken om gegevens uit je XML file te halen :) .
<ot>
martin:
[topic=341274/1/25]
:)
</ot>

Doet iets met Cloud (MS/IBM)


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11 01:34
D2k lokt me ;)
Hum ik vind dat topic eigenlijk niet echt een richting opgaan waardoor ik graag wat zou willen bijdragen ;) .

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • D2k
  • Registratie: Januari 2001
  • Laatst online: 18-11 16:53

D2k

mbravenboer Hum ik vind dat topic eigenlijk niet echt een richting opgaan waardoor ik graag wat zou willen bijdragen ;) .
hmmz k
de eerste post was iig veel belovend
maar de rest is idd meer praktisch dan theoretisch onderbouwd

* D2k leert argumenteren van mbravenboer :_
</ot>

Doet iets met Cloud (MS/IBM)


  • zoepercavia
  • Registratie: September 2001
  • Laatst online: 21:57
precies ditzelfde probleem ben ik ook tegengekomen (zie [topic=317246/1/25] en de conclusie was dat er geen oplossing voor te vinden is

Panacea.NL als je geinteresserd bent in IT en Geneeskunde!


  • The Lord
  • Registratie: November 1999
  • Laatst online: 21:23
XPath heb ik nog nooit gebruikt en kost derhalve te veel tijd. Tenzij één der jullie een straight-forward voorbeeld heeft voor me.

In ieder geval ga ik MS lastig vallen over de 'HTML' output van hun MMS.

geeft geen inhoudelijke reacties meer

Pagina: 1