标签: domparser

SAX和DOM有什么区别?

我阅读了一些关于XML解析器的文章,并且遇到了SAXDOM.

SAX是基于事件的,DOM是树模型 - 我不理解这些概念之间的差异.

根据我的理解,基于事件意味着某种事件发生在节点上.就像当单击特定节点时,它将给出所有子节点,而不是同时加载所有节点.但是在DOM解析的情况下,它将加载所有节点并创建树模型.

我的理解是否正确?

请纠正我如果我错了或以更简单的方式向我解释基于事件和树模型.

saxparser xml-parsing domparser

237
推荐指数
7
解决办法
22万
查看次数

querySelector,通配符匹配?

有没有办法使用querySelector或进行通配符元素名称匹配querySelectorAll?我在属性查询中看到了对通配符的支持,但对于元素本身却没有.

我试图解析的XML文档基本上是一个扁平的属性列表,我需要找到名称中包含某些字符串的元素.

我意识到如果我需要这个XML文档可能需要重组,但这不会发生.

除了回到使用明显弃用的XPath(IE9丢弃它)之外的任何解决方案都是可以接受的.

javascript dom selectors-api domparser

99
推荐指数
6
解决办法
9万
查看次数

使用JavaScript解析XML

我需要能够使用JavaScript解析XML.XML将在一个变量中.我宁愿不使用jQuery或其他框架.

我看过这个,XML> jQuery阅读.

javascript xml domparser

89
推荐指数
2
解决办法
26万
查看次数

保留换行符 - 简单的HTML DOM解析器

使用PHP Simple HTML DOM Parser时,
删除换行标签是否正常?

php domparser

23
推荐指数
2
解决办法
8699
查看次数

PHP:从HTML字符串中删除特定标记?

我有以下html:

<html>
 <body>
 bla bla bla bla
  <div id="myDiv"> 
         more text
      <div id="anotherDiv">
           And even more text
      </div>
  </div>

  bla bla bla
 </body>
</html>
Run Code Online (Sandbox Code Playgroud)

我希望从<div id="anotherDiv">关闭之前删除所有内容<div>.我怎么做?

html php tags replace domparser

20
推荐指数
3
解决办法
5万
查看次数

JavaScript DOMParser访问innerHTML和其他属性

我使用以下代码将字符串解析为DOM:

var doc new DOMParser().parseFromString(string, 'text/xml');
Run Code Online (Sandbox Code Playgroud)

string只是在哪里<!DOCTYPE html><html><head></head><body>content</body></html>.

typeof doc给了我object.如果我这样做,doc.querySelector('body')我会得到一个DOM对象.但是,如果我尝试访问任何属性,就像你通常可以,它给了我undefined:

doc.querySelector('body').innerHTML; // undefined
Run Code Online (Sandbox Code Playgroud)

其他属性也是如此,例如id.另一方面,属性检索很顺利doc.querySelector('body').getAttribute('id');.

是否有魔术功能可以访问这些属性?

javascript dom domparser

18
推荐指数
1
解决办法
3万
查看次数

创建新的DOMParser实例有什么意义?

如果你从MDN看一下DOMParser的例子:

var parser = new DOMParser();
var doc = parser.parseFromString(stringContainingXMLSource, "application/xml");
// returns a Document, but not a SVGDocument nor a HTMLDocument

parser = new DOMParser();
doc = parser.parseFromString(stringContainingXMLSource, "image/svg+xml");
// returns a SVGDocument, which also is a Document.

parser = new DOMParser();
doc = parser.parseFromString(stringContainingHTMLSource, "text/html");
// returns a HTMLDocument, which also is a Document.
Run Code Online (Sandbox Code Playgroud)

他们不断创建new DOMParser实例.但为什么?一个解析器实例不足够吗?那些进行大量解析的代码,在创建新实例方面是否具有性能优势?

编辑:人们正在挂起这个例子.更好地说出我的问题:为什么不DOMParser更喜欢JSON和它的parse方法?为什么不是 parseFromString静态方法?

javascript domparser

16
推荐指数
1
解决办法
823
查看次数

android中的XML SAX解析器,Pull解析器和DOM解析器之间的区别

我想知道Android中的XML SAX解析器,Pull解析器和DOM解析器之间的区别.在哪种情况下,哪一个在性能和实施方面更好?

感谢名单.Khobaib.

android saxparser xmlpullparser domparser

15
推荐指数
2
解决办法
1万
查看次数

javascript:读取普通的html-string并使用DOMparser更改链接路径

在我使用WYSIWYG之一的角度应用程序中,我可以插入没有协议的链接.这很糟糕:

我需要解析字符串并更改所有链接(如果没有协议到http:// ..).

我试着这样做:

var content = '<p>7</p><p>77</p><p><br></p><p><a href="http://example.com" rel="nofollow">http://example.com</a></p><p><br></p><p><a href="example.com" target="_blank">example.com</a></p><p><br></p><p><a href="ftp://localhost">ftp://localhost</a></p><p><br></p><p><a href="localhost">localhost</a><br></p>';

var addProtocolToLinks = function(URL){
    var protocols = ['http', 'https', 'ftp', 'sftp', 'ssh', 'smtp'];
    var withProtocol = false;
    if (URL.length > 0){
      protocols.forEach(function(el) {
        if (URL.slice(0,4).indexOf(el) > -1){
          withProtocol = true;
        }
      });
      var newURL =  URL;
      if (!withProtocol){
        newURL = 'http://' + URL;
      }
      console.log(newURL + '   ' + URL);
      return newURL;
    }
};

var parser = new DOMParser();
var doc = parser.parseFromString(content, "text/html"); …
Run Code Online (Sandbox Code Playgroud)

html javascript jquery domparser

14
推荐指数
1
解决办法
837
查看次数

使用SAX解析器确定是否在叶节点处

使用org.xml.sax.helpers.DefaultHandler,可以确定您是否在其中的叶节点上endElement(String, String, String)

还是需要使用DOM解析器来确定?

java sax domparser

12
推荐指数
1
解决办法
232
查看次数