标签: parsexml

使用Python从GET调用中保存XML响应

我正在尝试使用API​​创建实时报告,该API允许我获取所需的数据并以XML格式返回.我想知道的是,收到响应后,如何在本地将其保存到.xml文件中?或者缓存它,这样我就可以在解析响应之前对其进行解析.

import requests
r = requests.get('url',  auth=('user', 'pass'))
Run Code Online (Sandbox Code Playgroud)

我正在使用请求,因为在我看来,这是进行GET调用的最简单方法.另外,这是我的第一个问题,我几乎没有开始学习Python,如果你们有一点耐心,我会很感激.谢谢.

我正在寻找一个类似的问题,但对于JSON,不确定它是否会起作用,/sf/answers/1226331431/

import requests
import json
solditems = requests.get('https://github.com/timeline.json') # (your url)
data = solditems.json()
with open('data.json', 'w') as f:
    json.dump(data, f)
Run Code Online (Sandbox Code Playgroud)

python xml save python-requests parsexml

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

用lxml python解析xhtml

小问题,真的卡在这里,我不明白发生了什么,我只是想从网上解析一个普通的xhtml,没什么特别的......

这是错误:

 File "class/page.py", line 85, in xslParse
    doc = lxml.etree.fromstring(self.content)
    File "lxml.etree.pyx", line 2753, in lxml.etree.fromstring (src/lxml/lxml.etree.c:54647)
    File "parser.pxi", line 1578, in lxml.etree._parseMemoryDocument (src/lxml/lxml.etree.c:82764)
    File "parser.pxi", line 1457, in lxml.etree._parseDoc (src/lxml/lxml.etree.c:81562)
    File "parser.pxi", line 965, in lxml.etree._BaseParser._parseDoc (src/lxml/lxml.etree.c:78232)
    File "parser.pxi", line 569, in lxml.etree._ParserContext._handleParseResultDoc (src/lxml/lxml.etree.c:74488)
    File "parser.pxi", line 650, in lxml.etree._handleParseResult (src/lxml/lxml.etree.c:75379)
    File "parser.pxi", line 590, in lxml.etree._raiseParseError (src/lxml/lxml.etree.c:74712)
    XMLSyntaxError: StartTag: invalid element name, line 1, column 2
Run Code Online (Sandbox Code Playgroud)

self.content是由http响应给出的普通字符串,没有干净,没有替换,没有,只是服务器的响应,所以什么是fu ..?

html的开头是:

<!doctype html>
<!-- paulirish.com/2008/conditional-stylesheets-vs-css-hacks-answer-neither/ -->
<!--[if lt IE …
Run Code Online (Sandbox Code Playgroud)

python lxml parsexml

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

什么`$ xml = $(xmlDoc)`做什么?

在javascript/jQuery中,此页面上的示例包含以下代码,我正在努力理解;

var xml = "<rss version='2.0'><channel><title>RSS Title</title></channel></rss>",
    xmlDoc = $.parseXML( xml ),
    $xml = $( xmlDoc ),
    $title = $xml.find( "title" );
Run Code Online (Sandbox Code Playgroud)

特别是第3行;

$xml = $( xmlDoc )
Run Code Online (Sandbox Code Playgroud)

那是做什么的?这种形式的语法是否有一个名称,我可以谷歌找出它?

此外,在上面的代码中,它们似乎使用前缀包含带有美元符号的jQuery对象的变量的约定.但如果是这种情况,那么xmlDoc第二行中的变量不应该$xmlDoc相反吗?

javascript jquery parsexml

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

如何等待NSXMLParser在iOS中完成

我想等待NSXMLParser进程完成,然后继续其他进程.我使用NSXMLParser来解析XML数据.

这是我的代码:

 - (void)parser:(NSXMLParser *)parser didStartElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qualifiedName attributes:(NSDictionary *)attributeDict
{
   NSLog(@"Did start element");
   if ( [elementName isEqualToString:@"FILENAME"])
   {
       XML_FIELD = FILENAME_CLOUD2;
       NSLog(@"found rootElement");
       return;
   }
   else if ( [elementName isEqualToString:@"UPLOADTIME"])
   {
       NSLog(@"found rootElement");
       XML_FIELD = UPLOADTIME2;
       return;
   }

}
Run Code Online (Sandbox Code Playgroud)

didEndElement():

 - (void)parser:(NSXMLParser *)parser didEndElement:(NSString *)elementName namespaceURI:(NSString *)namespaceURI qualifiedName:(NSString *)qName
{
   NSLog(@"Did end element");
   if ([elementName isEqualToString:@"FILENAME"])
   {
      NSLog(@"rootelement end");
   }
   XML_FIELD = UNIMPORTANT2;
}
Run Code Online (Sandbox Code Playgroud)

foudCharaters():

- (void)parser:(NSXMLParser *)parser foundCharacters:(NSString *)string
{
   if (XML_FIELD == FILENAME_CLOUD2)
   { …
Run Code Online (Sandbox Code Playgroud)

iphone objective-c nsxmlparser ios parsexml

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