如何将Xml文件转换为文本文件

如何将Xml文件转换为文本文件,xml,text,Xml,Text,我有大约8000个xml文件需要转换成文本文件。文本文件必须包含xml文件的标题、描述和关键字,而不包含标记,并删除其他元素和属性。换句话说,我需要创建8000个文本文件,其中包含xml文件的标题、描述和关键字。我需要系统地进行编码。任何帮助都将不胜感激。提前感谢。有几种可能性。如果它是简单的XML,您可以像阅读任何其他文本文件一样阅读它,过滤掉尖括号并添加您自己的策略性标点符号。或者,您可以打开一个XML读取器和一个文本编写器,并以任何方式输出它 如果您将文件夹中的文件名读入一个集合,您可以在

我有大约8000个xml文件需要转换成文本文件。文本文件必须包含xml文件的标题、描述和关键字,而不包含标记,并删除其他元素和属性。换句话说,我需要创建8000个文本文件,其中包含xml文件的标题、描述和关键字。我需要系统地进行编码。任何帮助都将不胜感激。提前感谢。

有几种可能性。如果它是简单的XML,您可以像阅读任何其他文本文件一样阅读它,过滤掉尖括号并添加您自己的策略性标点符号。或者,您可以打开一个XML读取器和一个文本编写器,并以任何方式输出它


如果您将文件夹中的文件名读入一个集合,您可以在其中循环并自动处理所有文件。

有几种可能性。如果它是简单的XML,您可以像阅读任何其他文本文件一样阅读它,过滤掉尖括号并添加您自己的策略性标点符号。或者,您可以打开一个XML读取器和一个文本编写器,并以任何方式输出它


如果将文件夹中的文件名读入一个集合,您可以循环浏览它们并自动处理所有文件。

从XML转换为文本闻起来像是XSLT的工作——它是一种基于XML的转换语言,可以接受XML输入并将其转换为基于输出端的任何文本

您可以在许多网站上阅读XSLT,这是本系列中最好的教程之一

因为您没有发布任何示例XML,所以我不知道您的XML是什么样子,也不知道您的输出应该是什么。但假设它看起来像:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <title>Some Title</title>
  <description>Some description</description>
  <keywords>
    <keyword>Keyword1</keyword>
    <keyword>Keyword2</keyword>
    <keyword>Keyword3</keyword>
    <keyword>Keyword4</keyword>
   </keywords> 
</root>
import sys
import os
from xml.etree.ElementTree import ElementTree

def Readthexml(f):
    """Read the file from the argument list and dump the title contents and keywords"""
    xcontent = ElementTree()
    xcontent.parse(f)
    doc = [xcontent.find("title").text, xcontent.find("content").text, xcontent.find("keywords").text]
    out = open(f + ".txt", "w")
    out.write("\n\n".join(doc))
    return True

def main(argv=None):
    if argv is None:
        argv = sys.argv
        args = argv[1:]
        for arg in args:
            if os.path.exists(arg):
                Readthexml(arg)

if __name__ == "__main__":
    main()

或者您正在寻找的任何其他格式。

从XML转换为文本闻起来像是XSLT的工作——它是一种基于XML的转换语言,可以接受XML输入并将其转换为基于输出端的任何文本

您可以在许多网站上阅读XSLT,这是本系列中最好的教程之一

因为您没有发布任何示例XML,所以我不知道您的XML是什么样子,也不知道您的输出应该是什么。但假设它看起来像:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <title>Some Title</title>
  <description>Some description</description>
  <keywords>
    <keyword>Keyword1</keyword>
    <keyword>Keyword2</keyword>
    <keyword>Keyword3</keyword>
    <keyword>Keyword4</keyword>
   </keywords> 
</root>
import sys
import os
from xml.etree.ElementTree import ElementTree

def Readthexml(f):
    """Read the file from the argument list and dump the title contents and keywords"""
    xcontent = ElementTree()
    xcontent.parse(f)
    doc = [xcontent.find("title").text, xcontent.find("content").text, xcontent.find("keywords").text]
    out = open(f + ".txt", "w")
    out.write("\n\n".join(doc))
    return True

def main(argv=None):
    if argv is None:
        argv = sys.argv
        args = argv[1:]
        for arg in args:
            if os.path.exists(arg):
                Readthexml(arg)

if __name__ == "__main__":
    main()

或者您正在寻找的任何其他格式。

我的建议是使用Python。您可以在设置模式时使用解释器来运行该模式,命令行可以正确地设置这类内容。假设xml是有效的,这将允许您以最少的麻烦获得最大的灵活性

因此,假设采用以下xml格式:

<root>
  <title>Document Title</title>
  <content>Some document content.</content>
  <keywords>test, document, keyword</keywords>
</root>
python代码可能类似于:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <title>Some Title</title>
  <description>Some description</description>
  <keywords>
    <keyword>Keyword1</keyword>
    <keyword>Keyword2</keyword>
    <keyword>Keyword3</keyword>
    <keyword>Keyword4</keyword>
   </keywords> 
</root>
import sys
import os
from xml.etree.ElementTree import ElementTree

def Readthexml(f):
    """Read the file from the argument list and dump the title contents and keywords"""
    xcontent = ElementTree()
    xcontent.parse(f)
    doc = [xcontent.find("title").text, xcontent.find("content").text, xcontent.find("keywords").text]
    out = open(f + ".txt", "w")
    out.write("\n\n".join(doc))
    return True

def main(argv=None):
    if argv is None:
        argv = sys.argv
        args = argv[1:]
        for arg in args:
            if os.path.exists(arg):
                Readthexml(arg)

if __name__ == "__main__":
    main()

您可以从中生成一个批处理文件来定期更新文件(假设它是windows环境,尽管python可以在任何情况下工作)。

我的建议是使用python。您可以在设置模式时使用解释器来运行该模式,命令行可以正确地设置这类内容。假设xml是有效的,这将允许您以最少的麻烦获得最大的灵活性

因此,假设采用以下xml格式:

<root>
  <title>Document Title</title>
  <content>Some document content.</content>
  <keywords>test, document, keyword</keywords>
</root>
python代码可能类似于:

<?xml version="1.0" encoding="utf-8"?>
<root>
  <title>Some Title</title>
  <description>Some description</description>
  <keywords>
    <keyword>Keyword1</keyword>
    <keyword>Keyword2</keyword>
    <keyword>Keyword3</keyword>
    <keyword>Keyword4</keyword>
   </keywords> 
</root>
import sys
import os
from xml.etree.ElementTree import ElementTree

def Readthexml(f):
    """Read the file from the argument list and dump the title contents and keywords"""
    xcontent = ElementTree()
    xcontent.parse(f)
    doc = [xcontent.find("title").text, xcontent.find("content").text, xcontent.find("keywords").text]
    out = open(f + ".txt", "w")
    out.write("\n\n".join(doc))
    return True

def main(argv=None):
    if argv is None:
        argv = sys.argv
        args = argv[1:]
        for arg in args:
            if os.path.exists(arg):
                Readthexml(arg)

if __name__ == "__main__":
    main()

您可以从中生成一个批处理文件来定期更新文件(假设它是windows环境,尽管python可以在任何情况下工作)。

当我将手机中的文字信息复制到一个文件中时,我遇到了类似的问题,该文件是.xml格式,每个单词之间都有符号和字符,我想将其编辑掉。所以我下载了Notepad++并打开了其中的.xml文件。假设您要删除
的所有实例。突出显示(示例文本)并单击替换图标(它是蓝色的b)→工具栏顶部的图标)。它将在“查找内容”字段中突出显示文本,然后将“替换为”字段留空并选择“全部替换”,它将删除(示例文本)的所有实例。对所有符号和文本执行此操作,并替换为您想要的或应该的内容。我有4800多行文字,效果很好。

当我将手机中的文字信息复制到一个文件中时,我遇到了类似的问题,该文件是.xml格式,每个单词之间都有符号和字符,我想将其编辑掉。所以我下载了Notepad++并打开了其中的.xml文件。假设您要删除
的所有实例。突出显示(示例文本)并单击替换图标(它是蓝色的b)→工具栏顶部的图标)。它将在“查找内容”字段中突出显示文本,然后将“替换为”字段留空并选择“全部替换”,它将删除(示例文本)的所有实例。对所有符号和文本执行此操作,并替换为您想要的或应该的内容。我有4800多行,效果很好。

嘿,罗伯特,谢谢你的回复。你介意帮我找一些网站作为参考吗?因为我对这个话题还不太熟悉,我的主管正催着我去做。非常感谢你的回复。嘿,罗伯特,谢谢你的回复。你介意帮我找一些网站作为参考吗?因为我对这个话题还不太熟悉,我的主管正催着我去做。非常感谢您的回复。我很想回答xsl将是一个很好的解决方案,只是过去每次我必须实现xsl时,都需要大量的工作才能让编程语言x按照上帝的意图使用xsl。请在我的新帖子上看一看我的示例。谢谢,我很想回答xsl将是一个很好的解决方案,只是过去每次我必须实现xsl时,都需要大量的工作才能使编程语言x按照上帝的意图使用xsl。请在我的新帖子上看我的样本谢谢请在我的新帖子上看我的样本谢谢请在我的新帖子上看我的样本