当前位置: 首页 > 面试题库 >

xml2js:输出如何?

郭兴文
2023-03-14
问题内容

我正在尝试使用node.js模块xml2js

我的代码很简单:

function testparse(pathname, callback) {
    var parser = require('xml2js').Parser(),
        util = require('util'),
        fs = require('fs'),
    fs.readFile(pathname, function (err, data) {
        parser.parseString(data, function(err, result) {
            console.log('Complete result:');
            console.log(util.inspect(result, {depth: null})); //Work
            console.log('Try to access element:');
            console.log(result.smil.body); //Work
            console.log(result.smil.body.update); //Undefined
        });
    });
}

我的xml文件是:

<?xml version="1.0"?>
<smil>
    <head/>
    <body>
        <update /*some field*//>
        <stream name="name"/>
        <playlist /*some field*/>
            <video /*some field*//>
            <video /*some field*//>
            <video /*some field*//>
        </playlist>
    </body>
</smil>

输出给我:

Complete result:
{ smil:
    { head: [''],
      body:
        [ { update: [[Object]],
            stream: [[Object]],
            playlist: [[Object]] } ] } }
Try to access element:
[Object]
Undefined

我已经通过尝试成功访问了正文,但是现在我陷入了困境,是否有xml2js如何在某个地方输出已解析的xml的模板或示例?


问题答案:

对于那些想知道的人,xml2js使用和滥用数组

对于我的文件,树将是:

.result //Object
|_.head //Array
|_.body //Array
  |_.update //Array
  | |_.$ //Object
  |   |_.fields //Strings
  |
  |_.stream //Array
  | |_.$ //Object
  |   |_.fields //Strings
  |
  |_.playlist //Array
    |_.$ //Object
      |_.fields //Strings
      |
      |_.video //Array
        |_.$ //Object
          |_.fields //Strings


 类似资料:
  • 我试图用xml2js构建一个XML节点。当我添加包装在cdata中的html标签时,它会创建一个单独的节点,如下所示。如果我把CDATA包在里面"

  • 我正在使用xslt转换xml文档。我需要使用输出转义来获得我的结果,因为我使用的工作服务器只会输出

  • 问题内容: 我究竟做错了什么?我无法获得子属性内标签的值。这是我的xml: 这是我在节点中所做的: 我确定那是一个语法问题,但我看不到它!它有可能获得两个孩子的名字,例如标题和文本? 问候 问题答案: 使用的语法允许您浏览JSON对象的节点。但是似乎您正在尝试搜索将其视为XPath谓词。它不会工作。 使用xml2js可以使用以下代码在代码中获取对象数组: 然后,循环比较该值,这就是达到属性的方式。

  • 本文向大家介绍Python如何输出整数,包括了Python如何输出整数的使用技巧和注意事项,需要的朋友参考一下 Python输出整数的方法: 先使用str()函数将数字转换成字符串赋值给变量i,再用“if i.count('.') == 0”语句判断字符串中是否没有小数点,如果是则输出这个字符串,这样输出的数字就都是整数了 示例代码如下: 执行结果如下: 实例扩展: Python小数整数输出 输出

  • 问题内容: 在bash中,调用将在stdout上显示该命令的任何输出。 调用会将该命令的任何输出重定向到指定的文件(在本例中为“输出”)。 有没有一种方法可以将输出重定向到文件 并 在stdout上显示? 问题答案: 您想要的命令名为 : 例如,如果您只关心标准输出: 如果要包括stderr,请执行以下操作: 将通道2(stderr /标准错误)重定向到通道1(stdout /标准输出),以便将两

  • 文件 std::fs::File 本身实现了 Read 和 Write trait,所以文件的输入输出非常简单,只要得到一个 File 类型实例就可以调用读写接口进行文件输入与输出操作了。而要得到 File 就得让操作系统打开(open)或新建(create)一个文件。还是拿例子来说明 use std::io; use std::io::prelude::*; use std::fs::File;