Python中文
首页
教程
问答
标签
搜索
登录
注册
使用python搜索并替换xml/text文件中的多行
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>---更新3: 我已经完成了将所需数据更新到xml文件中的脚本,但是下面的代码将从写入的文件中删除。为什么会这样?我怎样才能更换它?在</p> <pre><code><?xml version="1.0" encoding="utf-8"?><?xml-stylesheet type='text/xsl' href='ANZMeta.xsl'?> </code></pre> <p>现行工作规范(上述问题除外)。在</p> ^{pr2}$ <p>---更新1&2: 多亏了Aleyna,我有了下面的基本代码</p> <pre><code>import os, xml, arcpy, shutil from xml.etree import ElementTree as et CodeString=['northbc','southbc', '<nondig><formname>'] nondig='nondigital' path=os.getcwd() arcpy.env.workspace = path xmlfile = path+"\\test.xml" FileList = arcpy.ListFeatureClasses() FileCount = len(FileList) for File in FileList: FileDesc_obj = arcpy.Describe(File) FileNm=FileDesc_obj.file newMetaFile=FileNm+"_Metadata.xml" shutil.copy2('L:\Data_Admin\QA\Metadata_python_toolset\Master_Metadata.xml', newMetaFile) tree=et.parse(newMetaFile) for node in tree.findall('.//northbc'): node.text = str(FileDesc_obj.extent.YMax) for node in tree.findall('.//southbc'): node.text = str(FileDesc_obj.extent.YMin) for node in tree.findall('.//westbc'): node.text = str(FileDesc_obj.extent.XMin) for node in tree.findall('.//eastbc'): node.text = str(FileDesc_obj.extent.XMax) for node in tree.findall('.//native/nondig/formname'): node.text = nondig tree.write(newMetaFile) </code></pre> <p>就像处理xml代码一样</p> <pre><code>- <spdom> <keyword thesaurus="">GDA94</keyword> <keyword thesaurus="">GRS80</keyword> <keyword thesaurus="">Transverse Mercator</keyword> <keyword thesaurus="">Zone 55 (144E - 150E)</keyword> </spdom> </code></pre> <p>因为关键字thes…在<code><spdom></code>中不是唯一的,我们可以根据来自</p> <pre><code>FileDesc_obj.spatialReference.name </code></pre> <blockquote> <p>u'GCS_GDA_1994'</p> </blockquote> <p>---原帖---</p> <p>我正在建立一个程序来从我们库中的空间文件生成xml元数据文件。我已经创建了从文件中提取所需的空间和属性数据的脚本,并创建了基于shp和文本文件的文件索引,但现在我想将此信息写入到基本元数据xml文件中,该文件通过替换公共/静态元素保存的值写入anzlic标准。。。在</p> <p>例如,我想替换下面的xml代码</p> <pre><code><northbc>8097970</northbc> <southbc>8078568</southbc> </code></pre> <p>与</p> <pre><code><northbc> GeneratedValue_[desc.extent.XMax] /<northbc> <southbc> GeneratedValue_[desc.extent.XMax] </southbc> </code></pre> <p>问题是,和之间的数字/值显然不一样。在</p> <p>类似于<code><title>, <nondig><formname></code>等xml标记,在后一个示例中,必须同时搜索两个标记,因为formname多次出现(不是唯一的)。在</p> <p>我使用的是Python正则表达式手册[here][1]</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>我可能在这里说的很明显,但是您考虑过使用DOM树来解析和操作XML吗?在</p>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
当用户用PYTHON设置一个或一个不带值的URL时,他们怎么能输入一个/a的代码呢?
9 回答
当用户登录到站点时,如何显示不同的导航栏
7 回答
当用户登录时,在Flask中向用户显示处理结果
5 回答
当用户的Flask会话结束时,我如何从Redis后端中移除所有Celery结果?
9 回答
当用户的Okta配置文件字段当前为blan时,更新该字段
7 回答
当用户的付款逾期2天时,从Django模型检索数据
6 回答
当用户的消息以问号结尾时,如何让机器人说些什么?
2 回答
当用户的系统上可能也安装了Python 2.7时,如何在用户的系统上运行Python 3脚本?
5 回答
当用户确定打印数量时,使用Matplotlib打印动画
10 回答
当用户离开时是否可以删除整个网页?
5 回答
当用户给出一个单词时如何打印?
6 回答
当用户继续更改TKin中的值(使用trace方法)时,使用Entry并更新输入的条目
7 回答
当用户编辑表单字段时,从Django时间字段中删除秒数
8 回答
当用户被更改时,消息不会来自web套接字
5 回答
当用户访问表单时,如何使表单为只读,而不具有更改权限
7 回答
当用户试图更改对象的值时,使用描述符类引发RuntimeError
10 回答
当用户调整GUI的大小时,是否有方法更改GUI内容的大小?
7 回答
当用户调整风的大小时,pythontkinter小部件的大小会不均匀
8 回答
当用户购买某个类别时,是否查找其他类别的销售?
7 回答
当用户转到上一页时,Django和芹菜插入操作
9 回答