标签: domparser

Javascript xml解析器:如何获取名称中包含":"的节点

我有以下代码,我正在尝试获取c:CreationDate节点:

 value = '<?xml version="1.0" encoding="UTF-8"?><content><c:CreationDate>2010-09-04T05:04:53Z</c:CreationDate></content>';

 xml = (new DOMParser()).parseFromString(value, 'text/xml');

 console.log(xml.getElementsByTagName('c:CreationDate'));
Run Code Online (Sandbox Code Playgroud)

不幸的是,它返回一个空数组,而不是一个包含xml中节点的数组.我认为这是因为":"符号引起的.

有办法逃脱吗?

注意:请不要建议使用childNodes或类似的东西.这对我来说不起作用,因为我的xml是验证复杂的(这里只是一个示例),并且将来很可能会改变,我只能依赖于标签名称.

谢谢!

javascript xml domparser

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

使用DOM Parser和SAX Parser进行Android XML解析的区别

我想知道使用DOM Parser和SAX Parser进行Android XML解析有什么确切的优势?
是不是DOm解析器比SAX Parser更有优势,反之亦然?

请澄清.

谢谢,

android saxparser domparser

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

PHP简单的HTML Dom解析器内存泄漏/使用

我正在尝试使用PHP Simple HTML Dom Parser来解析某些网站的一些信息.无所谓何在何处.但似乎它存在一些巨大的内存问题.我设法将html代码削减到只有6kB,但是找到一些元素并将它们保存到数据库的脚本甚至需要700MB的内存和超过1GB的虚拟内存!我在某处读到了我应该使用 - > clear()来释放一些内存,但似乎并非如此.

我使用将结果赋值给变量使用str_get_html()一次和5次->find().

$main_html = str_get_html($main_site);
$x = $main_html->find(...);
$y = $main_html->find(...);

etc.
Run Code Online (Sandbox Code Playgroud)

我尝试使用例如$y->clear()在使用$ y之后但是我得到一个错误,PHP Fatal error: Call to a member function clear() on a non-object即使$y它确实存在并且if($y)是真的.即使是foreach($y) echo $y->plaintext不会返回plaintext$y.

来自htop:

PID USER     PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command
8839 username    20   0 1068M  638M   268 R 23.0  8.0  0:08.41 php myscript.php
Run Code Online (Sandbox Code Playgroud)

怎么了?

简单测试: …

php domparser

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

与元素类型"Y"关联的属性名称"X"必须后跟"="字符

我试图解析XML文件,但我在尝试构建时不断收到此错误.

这是XML文件:

<Student Data>
<Student id="11111">
    <FirstName>Joe</FirstName>
    <LastName>Edwards</LastName>
    <Address>
        <Street>345 North</Street>
        <City>Brea</City>
        <State>CA</State>
        <Zip>99999</Zip>
        <Phone>(714) 444-4444</Phone>
    </Address>
    <Classes>
        <Class crn="5555">
            <Name>CIS 100</Name>
            <Units>3</Units>
            <Grade>A</Grade>
        </Class>
        <Class crn="7777">
            <Name>CIS 111</Name>
            <Units>4</Units>
            <Grade>B</Grade>        
        </Class>
    </Classes>
</Student>
</Student Data>
Run Code Online (Sandbox Code Playgroud)

java xml domparser

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

使用 Jest 测试 DOMParser

我有一个使用 DOMParser 解析 XML 的方法,如下所示:

this.parseXmlString = function(xmlDocStr) {
    var xmlDoc;
    var parser= new window.DOMParser();

    xmlDoc = parser.parseFromString( xmlDocStr, "text/xml" );
    // here I do some stuff with xmlDoc

    return xmlDoc;
};
Run Code Online (Sandbox Code Playgroud)

问题是:当我尝试使用 Jest 进行单元测试时,此函数window.DOMParser未定义。测试很简单:

expect(x2js.parseXmlString(xmlDocStr)).toMatchObject(expectedObject);
Run Code Online (Sandbox Code Playgroud)

有什么办法可以从 Jest 单元测试中使用 DOMParser?

javascript unit-testing domparser jestjs

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

DOMParser中的可选baseURI(位置)?

// html data loaded from [http://example.org/some/path]
let htmlSource = `<!DOCTYPE html><html><head></head><body>
 ... <a href="relative"></a> ... 
</body></html>`;

const dom = new DOMParser().parseFromString(htmlSource, 'text/html');

// this returns the value of the attribute as is
dom.links[0].getAttribute('href'); // -> "relative" / nothing new here

// this should resolve urls
dom.links[0].href // -> wait, relative to WHAT??

// if you run this code while being on [http://google.com] you'll get
dom.links[0].href // -> "https://www.google.com/relative"

// Also,

dom.location // -> null / you can't change it

dom.baseURI …
Run Code Online (Sandbox Code Playgroud)

url dom uri relative-path domparser

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

如何使用DOM从这个XML解析<img rel="nofollow noreferrer" src ="value"?

它在XML中看起来像这样.我想得到他的Image src值......

<description><![CDATA[<div class="images"><img src="http://www.voicetv.co.th/cache/images/8a1a6f2aeb7b0e9c1d6bb3eae314165f.jpg" /></div>]]></description>
Run Code Online (Sandbox Code Playgroud)

我在做什么

if ((theElement.getElementsByTagName("description")).getLength() > 0) {

            allChildern = theElement.getElementsByTagName("description").item(0).getChildNodes();

            for (int index = 0; index < allChildern.getLength(); index++) {
                description += allChildern.item(index).getNodeValue();

                NodeList chNodes = allChildern.item(index).getChildNodes();
                for (int i = 0; i < chNodes.getLength(); i++) {

                    String name = chNodes.item(i).getNodeName();
                    if(name.equals("div")) {
                        String clas = allChildern.item(index).getAttributes().getNamedItem("class").getNodeValue();
                        if(clas.equals("images")){
                            String nName = allChildern.item(index).getChildNodes().item(0).getNodeName();
                            if(nName.equals("img")) {
                                String nValue = allChildern.item(index).getChildNodes().item(0).getAttributes().getNamedItem("src").getNodeValue();
                            }
                        }
                    }
                }


            }
            currentStory.setDescription(description);
        }
Run Code Online (Sandbox Code Playgroud)

但是不行

xml android domparser

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

使用DOM或正则表达式删除<p>&nbsp; </ p>

如何<p>&nbsp;</p>使用DOM或regex 删除此类型的p标记?

我想删除多个这样的p,

<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
Run Code Online (Sandbox Code Playgroud)

html php regex domparser

0
推荐指数
1
解决办法
4392
查看次数

在存储在org.w3c.dom.Document中的给定XML文件的根元素周围添加元素

所以我想这样做.添加新的根元素并将旧元素包装在其中.

鉴于此作为起始条件

// this part uses SAXParser
org.w3c.com.Document = xmlSrc.parse(is); // *is* is InputStream 
Run Code Online (Sandbox Code Playgroud)

最初的条件不是真的可以谈判,但我也愿意听到那里的评论

所以给出了这个xml文件

<?xml version="1.0" encoding="UTF-8"?>
<root1>
   <elem>...</elem>
</root1>
Run Code Online (Sandbox Code Playgroud)

我需要在Java中生成一个InputStream,它将包含此格式的xml文件

<?xml version="1.0" encoding="UTF-8"?>
<newroot>
   <root1>
       <elem>...</elem>
   </root1>
</newroot>
Run Code Online (Sandbox Code Playgroud)

存储在一些InputStream isNewXML中

我很好奇这是做什么的最好方法.我是Java新手,java有十亿种方法可以做同样的事情,所以在黑暗中这将是最好的

java xml saxparser xml-parsing domparser

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

如何在获取大量信息时加快php页面的加载速度?

基本上我正在建立一个网站,它可以进行网页报废,并从大约8个不同的网站获取特定的网页来提取价格.我正在广泛使用 file_get_html()函数PHP Simple HTML DOM Parser来将页面源获取到字符串变量中并从中提取价格信息.

现在主要问题是页面显示来自所有不同站点的价格信息需要很长时间才能加载.

所以我的问题是

  1. 如何使页面加载更快.&
  2. 如何加载页面的步骤,以便加载那些信息加载和其他信息将随后像谷歌图像搜索一样加载.

php domparser

0
推荐指数
1
解决办法
247
查看次数