解析檔案和字串

2022-06-25 13:12:10 字數 1370 閱讀 8155

etree支援以多種方式和所有重要**解析xml,即字串、檔案、url(http/ftp)和類檔案物件

主要的解析函式是fromstring()和parse(),都是以源作為第乙個引數呼叫的

預設情況下,它們使用標準解析器,但您始終可以將不同的解析器作為第二個引數傳遞

fromstring()函式

some_xml_data = "

data

"root =etree.fromstring(some_xml_data)

print(root.tag) #

輸出:root

print(etree.tostring(root)) #

輸出:b'data'

xml()函式

root = etree.xml("

data")

print(root.tag) #

輸出:root

print(etree.tostring(root)) #

輸出:aa

html()函式

root = etree.html("

data")

print(etree.tostring(root)) #

輸出:b'data

'

parse()函式

該函式主要用於解析file或file-like物件

from io import

bytesio

some_file_or_file_like_object = bytesio(b"

data")

tree =etree.parse(some_file_or_file_like_object)

etree.tostring(tree)

#輸入:b'data'

root =tree.getroot()

print(root.tag) #

輸出:root

print(etree.tostring(root)) #

輸出:b'data'

parse()從檔案返回完整的文件,而字串解析函式通常用於解析xml片段

parse()函式支援以下source的解析

file-like物件(要確保它是位元組模式)

包含read(byte_count)方法的file-like物件,該方法每次呼叫都會返回乙個位元組字串(byte string)

檔名字串

http或ftp url字串

處理檔名和url的速度要比處理file-like物件或檔案要快

xml檔案 字串解析

解析xml字串,如下 public static void main string args catch exception e 解析xml檔案,xml檔案如下 aaa 學校 13728704450 男,1958年出生 bbbyyy學校 1372sadgasg4450 男,1968年出生,出生地長沙...

解析字串

package com.practice.json import org.json.jsonarray import org.json.jsonexception import org.json.jsonobject import android.os.bundle import android.u...

字串解析

把字串中的元素分配到二維陣列中,例如把 1,2 3,4,5 6.7,把逗號和分號的內容分開放到二維陣列中 使用spring 中的spilt方法把字串分成兩個部分放到兩個一位陣列中,然後把兩個一位陣列 的內容放到二維陣列中 public class no6 public static void mai...