Fix #22
This commit is contained in:
parent
65fca7bdf4
commit
c6efe2a2dd
3 changed files with 18 additions and 2 deletions
|
|
@ -5,10 +5,18 @@ import * as xpath from 'xpath';
|
|||
let DOMParser = require('xmldom').DOMParser;
|
||||
|
||||
export class XPathEvaluator {
|
||||
static evaluate(query: string, xml: string): Node[] {
|
||||
static evaluate(query: string, xml: string, ignoreDefaultNamespace: boolean): Node[] {
|
||||
if (ignoreDefaultNamespace) {
|
||||
xml = xml.replace(/xmlns=".+"/g, (match: string) => {
|
||||
return match.replace(/xmlns/g, 'xmlns:default');
|
||||
});
|
||||
}
|
||||
|
||||
let nodes: Node[] = new Array<Node>();
|
||||
|
||||
let xdoc: Document = new DOMParser().parseFromString(xml, 'text/xml');
|
||||
console.log(xdoc);
|
||||
|
||||
let resolver: xpath.XPathNSResolver = xpath.createNSResolver(xdoc);
|
||||
let expression: xpath.XPathExpression = xpath.createExpression(query, resolver);
|
||||
let result: xpath.XPathResult = expression.evaluate(xdoc, xpath.XPathResult.ORDERED_NODE_ITERATOR_TYPE);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue