小编rhe*_*lem的帖子

如何在使用Python/ElementTree解析XML时保留注释

目前使用的是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.

python xml elementtree

11
推荐指数
1
解决办法
1万
查看次数

如何使用 Powershell 更新 IIS 10 上站点的“物理路径”?

创建站点时,我设法使用以下代码行设置路径

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)

...但是,我想更新的不是虚拟目录,而是实际站点...

iis powershell web-administration

5
推荐指数
1
解决办法
9037
查看次数

如何比较MySQL中的毫秒数与给定日期

运用

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)

mysql timestamp unix-timestamp

2
推荐指数
1
解决办法
8324
查看次数