Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/15.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
Python 3.x 如何在一个特定的标记中获取xml中的所有嵌套标记和文本?_Python 3.x_Xml_Beautifulsoup_Nested - Fatal编程技术网

Python 3.x 如何在一个特定的标记中获取xml中的所有嵌套标记和文本?

Python 3.x 如何在一个特定的标记中获取xml中的所有嵌套标记和文本?,python-3.x,xml,beautifulsoup,nested,Python 3.x,Xml,Beautifulsoup,Nested,但是内文本是Hello而不是Hello 如何编写代码以从bs4导入组获取Hello content = "".join(xmlstring) bs_content = bs(content, "lxml") for b_text in bs_content.find_all("b"): inside_text = b_text.get_text() xmlstring=“你好” soup=BeautifulS

但是
内文本
Hello
而不是
Hello

如何编写代码以从bs4导入组获取
Hello
  content = "".join(xmlstring)
  bs_content = bs(content, "lxml")

  for b_text in bs_content.find_all("b"):
      inside_text = b_text.get_text()
xmlstring=“你好” soup=BeautifulSoup(xmlstring,'lxml') 打印(“”.join(str(c)表示汤中的c。选择一个('b')。内容)) 印刷品:

from bs4 import BeautifulSoup


xmlstring="<a> <b> <c> Hello </c> </b> </a>"
soup = BeautifulSoup(xmlstring, 'lxml')

print( ''.join(str(c) for c in soup.select_one('b').contents) )
你好
来自bs4导入组
xmlstring=“你好”
soup=BeautifulSoup(xmlstring,'lxml')
打印(“”.join(str(c)表示汤中的c。选择一个('b')。内容))
印刷品:

from bs4 import BeautifulSoup


xmlstring="<a> <b> <c> Hello </c> </b> </a>"
soup = BeautifulSoup(xmlstring, 'lxml')

print( ''.join(str(c) for c in soup.select_one('b').contents) )
你好
您可以使用children方法并提取第二个元素,因为调用
find_all(“b”)
时它将返回
Hello

 <c> Hello </c> 
xmlstring=“你好”
content=”“.join(xmlstring)
bs_含量=bs(含量,“lxml”)
对于bs_内容中的b_文本。查找所有(“b”):
打印(“.”join([str(i)表示b_text中的i.children if i!=”]))
输出

你好
您可以使用children方法并提取第二个元素,因为调用
find_all(“b”)
时它将返回
Hello

 <c> Hello </c> 
xmlstring=“你好”
content=”“.join(xmlstring)
bs_含量=bs(含量,“lxml”)
对于bs_内容中的b_文本。查找所有(“b”):
打印(“.”join([str(i)表示b_text中的i.children if i!=”]))
输出

你好
您能解释最后一行吗,
[1]
做什么?这不适用于此输入
“Hello World
b_text.children
在一个生成器中,在这种情况下返回3个部分”“第一个b标记“Hello”,这是index1处的第二个项目,第二个b标记返回另一个”“for
”Hello World“
它正在返回
Hello
您可以使用
打印([i for i in b_text.children if i!=”“])
将在
“Hello World”
输出
[Hello,World]
中重新运行
您能解释最后一行吗
[1]
做什么吗?这不适用于此输入
”Hello World
b_text。在生成器中,子对象在本例中返回3个部分,第一个b标签“Hello”是index1的第二项,另一个“Hello World”是第二个b标签。对于
“Hello World”
它返回
Hello
,您可以使用
打印([i代表b_text中的i.children如果i!=”“])
将在
“Hello World”
输出中重新运行
[Hello,World]
谢谢,但这是特定于此特定输入的。内部标记的标识(无论是否)未知。@xxx374562是的,这就是为什么我只找到标记
,并打印此标记的内容,而不管有什么不必要。谢谢,但这是特定于此特定输入的。内部标记的标识(无论是或其他)未知。@xxx374562是的,这就是为什么我只找到标记
,并打印此标记的内容,而不管需要什么。
<c> Hello </c>