Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用GoogleApps脚本解析和编辑XML_Xml_Google Apps Script - Fatal编程技术网

使用GoogleApps脚本解析和编辑XML

使用GoogleApps脚本解析和编辑XML,xml,google-apps-script,Xml,Google Apps Script,我一直在寻找一种使用GoogleApps脚本解析和编辑XML的方法。使用内置Xml类解析数据非常简单,但这不允许我编辑任何数据。以XML为例: <?xml version='1.0' encoding='UTF-8'?> <entry xmlns='http://www.w3.org/2005/Atom' xmlns:gContact='http://schemas.google.com/contact/2008' xmlns:batch='http://schemas.goo

我一直在寻找一种使用GoogleApps脚本解析和编辑XML的方法。使用内置Xml类解析数据非常简单,但这不允许我编辑任何数据。以XML为例:

<?xml version='1.0' encoding='UTF-8'?>
<entry xmlns='http://www.w3.org/2005/Atom' xmlns:gContact='http://schemas.google.com/contact/2008' xmlns:batch='http://schemas.google.com/gdata/batch' xmlns:gd='http://schemas.google.com/g/2005' gd:etag='&quot;Xh9QE00OESt7I2Bp&quot;'>
<id>http://www.google.com/m8/feeds/profiles/domain/test.com/full/user</id>
<info>Test Info</info>
</entry>

http://www.google.com/m8/feeds/profiles/domain/test.com/full/user
测试信息
假设我正在修改信息条目。目前,我只是将整个内容保留为一个字符串,使用
indexOf(“”
查找条目的起始位置,并将测试从那里替换为
indexOf(“”
)。这似乎是可行的,但我认为它没有那么可靠(如果标签有属性,它将无法找到它)

我在这里看到了另一个线程,有人建议使用XML(不是XML)修改属性,但我不知道如何将现有的XML(用UrlFetchApp检索到的字符串)解析到对象中


如果有人对此有任何建议,我将不胜感激。

如果将来有人发现这一点(你好,未来的人们,飞车和机器人女佣怎么样?),我无法找到在应用程序脚本中解析和编辑xml的方法,所以我编写了自己的json到xml函数,这些函数对我有用(处理来自google profile api的数据)。我还没有对它进行过很多测试,所以如果你想使用它们,你可能需要修改它们

函数xmlToJson(xmlElement){
变量e={“名称空间”:xmlement.getName().getNamespace(),
“名称”:xmlElement.getName().getLocalName()};
var xmlAs=xmlement.getAttributes();
如果(xmlAs.length>0){
e、 属性={};
对于(var j=0;j0){
e、 儿童={};
对于(var i=0;i”+node.value;
}否则{
xml+=“/>”;
返回
}
xml+=“”
}
appendNode(json);
返回xml;
}

+1用于机器人女佣!会不会
实用程序.jsonStringify()
不能执行
xmlToJson()
?我在第二行得到一个“TypeError:无法在对象XmlDocument中找到函数getName.”