2017-05-19 20 views
1

Ich habe Mühe, die <?xml version="1.0" encoding="UTF-8" standalone="no"?> dieser Zeichenfolge zu entfernen.Wie kann ich diese XML-Zeichenfolge analysieren?

var string = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg xmlns='http://www.w3.org/2000/svg...'" 
 

 
console.log(string.split("?>")[1])

natürlich ist die Zeichenfolge in Wirklichkeit größer, aber es ist nicht sinnvoll, es zu haben. Wie kann ich nur die <?xml...> entfernen?

[EDIT] ich eine gespaltene hinzugefügt, aber ich bin nicht sicher, es ist eine professionelle Art und Weise den ersten Tag

+1

Sein XML nicht HTML, die Art und Weise zu analysieren, sie mit einem XML-Parser ist, oder wenn Sie wirklich nur wollen, es hacken: 'string = String.substring (54);' –

Antwort

2

Es gibt verschiedene Möglichkeiten zu entfernen, dies zu tun, aber wenn man bedenkt, dass der Teil, den Sie statisch ausschließen möchten ist, dies wird es tun:

var string = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><svgxmlns='http://www.w3.org/2000/svg...'"; 
 

 
string = string.replace("<?xml version='1.0' encoding='UTF-8' standalone='no'?>",""); 
 

 
console.log(string)

+1

Einfach und effektiv –

+0

Ok Ich werde es so machen :) – Jerome

+0

Obwohl, wenn es statisch ist, könnte es einfacher sein, '.slice()' anstelle von '.replace()' zu verwenden. Wie in: 'string = string.slice (54)'; –

1
var string = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg xmlns='http://www.w3.org/2000/svg...'"; 
var charIdx = str.indexOf('?>')+2; 
string = string.substr(charIdx); 
2

Verwenden regex und ersetzen (Requres weniger Tastenanschläge * _ *)

var string = "<?xml version='1.0' encoding='UTF-8' standalone='no'?><svg xmlns='http://www.w3.org/2000/svg...'" 
 

 
console.log(string.replace(/<\?xml.*\?>/, ''))

Verwandte Themen