目前使用的是Python 2.4.3,不允许升级
我想在一个或多个标签中更改给定属性的值,以及更新文件中的XML注释.
我设法创建了一个Python脚本,它将XML文件作为参数,并为指定的每个标记更改一个属性,如下所示
def update(file, state):
global Etree
try:
from elementtree import ElementTree
print '*** using ElementTree'
except ImportError, e:
print '***'
print '*** Error: Must install either ElementTree or lxml.'
print '***'
raise ImportError, 'must install either ElementTree or lxml'
#end try
doc = Etree.parse(file)
root = doc.getroot()
for element in root.findall('.//StateManageable'):
element.attrib['initialState'] = state
#end for
doc.write(file)
#end def
Run Code Online (Sandbox Code Playgroud)
这很好,属性"initialState"被更新,除了我的原始XML包含很多XML注释的事实,但它们早已不复存在,这很糟糕.
怀疑解析只检索XML结构,但我认为XML-comments是结构的一部分.我也意识到我的原始文档的"人类可读"格式早已不复存在,但我已经意识到预期的行为,需要使用xmllint --format后续格式化或XSL.
创建站点时,我设法使用以下代码行设置路径
New-WebSite -Name "mysite" -port 8084 -PhysicalPath "c:\inetpub\wwwroot" -ApplicationPool "myappPool"
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何更新路径,但通过配置编辑器找不到任何内容。我以为我已经通过以下命令获得了它
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/site[@name='mysite']/virtualDirectoryDefaults" -name "physicalPath" -value "c:\inetpub\wwwroot\mysite"
Run Code Online (Sandbox Code Playgroud)
...但是,我想更新的不是虚拟目录,而是实际站点...
运用
mysql Ver 14.12 Distrib 5.0.45, for redhat-linux-gnu (i686) using readline 5.0
Run Code Online (Sandbox Code Playgroud)
我有一个像这样定义的表:
+-----------------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------------------+--------------+------+-----+---------+-------+
| id | bigint(20) | NO | PRI | | |
| user_id | bigint(20) | NO | MUL | | |
| directory_id | bigint(20) | NO | MUL | | |
| attribute_name | varchar(255) | NO | | | |
| attribute_value | varchar(255) | YES | | NULL …Run Code Online (Sandbox Code Playgroud)