使用 python 解析 VisualStudio .csproj 文件的最佳方法
使用 python 解析 Visual Studio .csproj
文件以进行进一步修改的最佳方法是什么?
这是一些 .csproj 文件:
...
<ItemGroup>
<Reference Include="SomeAssembly, Version=1.1.1.1"/>
...
</ItemGroup>
...
我想将其插入
<HintPath>path/to/SomeAassembly.dll</HintPath>
到
节点中。
What is the best way to parse Visual Studio .csproj
file using python, for further modification?
It is some .csproj
file:
...
<ItemGroup>
<Reference Include="SomeAssembly, Version=1.1.1.1"/>
...
</ItemGroup>
...
I want to insert this:
<HintPath>path/to/SomeAassembly.dll</HintPath>
into the <Reference/>
node.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
VS 项目文件是 XML。 Python 附带了许多 XML 解析库: http://docs.python.org/library/markup .html
xml.parsers.expat
或xml.minidom
都可以完成您所描述的任务。对于处理像 VS 项目文件这样的小型 XML 文档,在其中进行选择取决于个人喜好。每个文档中的示例代码应该可以帮助您做出决定。一个优雅的替代方案是 通过 xml.sax API 使用过滤器对象。
VS project files are XML. Python comes with a number of XML parsing libraries: http://docs.python.org/library/markup.html
Either of
xml.parsers.expat
orxml.minidom
could accomplish what you describe. For processing small XML documents like VS project files, choosing among them is a matter of taste. The example code in the documentation for each should help you decide.An elegant alternative, especially if you have many such transformations to apply, would be to use a filter object with the xml.sax API.