0

タグのコンテンツを抽出する必要があります。これが私が持っているものです。

<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">iVBORw0KGgoAAAANSUhEUgAAAU0AAAD6CAYAAAAlSBW9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhehP1lnB3H1a4P75Ely8zMzOyYHcccjsNOHNtx7IDtJCbJgtEwM4tG0kgzghnRaEgMI2aWLNlisMVMlgxa73Wv2tvJ85xz ...
</string>

そして、これが私が欲しいものです:

iVBORw0KGgoAAAANSUhEUgAAAU0AAAD6CAYAAAAlSBW9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhehP1lnB3H1a4P75Ely8zMzOyYHcccjsNOHNtx7IDtJCbJgtEwM4tG0kgzghnRaEgMI2aWLNlisMVMlgxa73Wv2tvJ85xz ...

私はこの正規表現で試しました:

iframeContents.match(/<string[^>]*>(.*?)<\/string>/i);

しかし、私は文字列タグを取得し続け、xmlタグはもう取得しません:

<string xmlns="http://tempuri.org/">iVBORw0KGgoAAAANSUhEUgAAAU0AAAD6CAYAAAAlSBW9AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAP+lSURBVHhehP1lnB...
4

2 に答える 2

0

試す

iframeContents.match( /<string[^>]*>([\s\S]*?)<\/string>/i )[1]

Match は配列を返すか、null一致がない場合に返します。
配列の最初の要素は一致全体であり、2 番目の要素は最初のキャプチャ グループによって一致したテキスト()です。

.改行とは一致しませんが、一致[\s\S]します。

于 2013-03-19T18:35:43.557 に答える
0

ここから parse xml メソッドを使用して

var parseXml;

if (typeof window.DOMParser != "undefined") {
    parseXml = function(xmlStr) {
        return ( new window.DOMParser() ).parseFromString(xmlStr, "text/xml");
    };
} else if (typeof window.ActiveXObject != "undefined" &&
       new window.ActiveXObject("Microsoft.XMLDOM")) {
    parseXml = function(xmlStr) {
        var xmlDoc = new window.ActiveXObject("Microsoft.XMLDOM");
        xmlDoc.async = "false";
        xmlDoc.loadXML(xmlStr);
        return xmlDoc;
    };
} else {
    throw new Error("No XML parser found");
})

var xml = parseXml("...");
var text = xml.documentElement.firstChild.nodeValue;
于 2013-03-19T18:42:18.777 に答える