gpt4 book ai didi

android - 使用 XmlPullParser 修改 xml 属性值

转载 作者:可可西里 更新时间:2023-11-01 11:42:37 25 4
gpt4 key购买 nike

我有一个 XML(实际上是一个 String),我想找到所有包含属性 widthheight 的标签并修改它们值(value)观。

XML 示例:

<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="http://1.bp.blogspot.com/-b5iKjQ5ivZQ/VOoBX9NinU3232I/AAAAAAAADZU332/zq3apERWFms/s800/IMG_3426.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">
<img border="0" height="426" src="http://1.bp.blogspot.com/-b5iKjQ5ivZQ/VOoBX9NinUI/AAAAAAAADZU/zq32323apERWFms/s800/IMG_3426.JPG" width="640" />
</a>
</div>
<div class="separator" style="clear: both; text-align: center;">
<iframe allowfullscreen="" frameborder="0" height="315" src="https://www.youtube.com/embed/sI9Qf7UmXl0" width="420"></iframe>
</div>

在上面的例子中我要修改:

  • 426 和 640 个值
  • 560 和 315 值

我能够使用 XmlPullParser 识别一些值:下面的代码识别了 426 和 640 值,但没有识别 560 和 315。我也不知道如何在 XML 中修改它们:

public void parse(String inputString) throws XmlPullParserException, IOException {
XmlPullParser parser = Xml.newPullParser();
parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, false);
parser.setInput(new StringReader(inputString));
parser.nextTag();
readXml(parser);
}

private void readXml(XmlPullParser parser) throws XmlPullParserException, IOException {
int eventType = parser.getEventType();
while (eventType != XmlPullParser.END_DOCUMENT) {
switch (eventType) {
case XmlPullParser.START_TAG:
break;

case XmlPullParser.END_TAG:
String h = parser.getAttributeValue(null, "height");
String w = parser.getAttributeValue(null, "width");
if (!TextUtils.isEmpty(h) && !TextUtils.isEmpty(w)) {
// TODO: need to change here h and w values in XML
}
break;
}
eventType = parser.next();
}
}

最佳答案

XmlPullParser 不能修改值。您需要同时解析和写入。同时使用 DomDocument 或基于流的读取器和写入器。

DomDocument 最适合您。

关于android - 使用 XmlPullParser 修改 xml 属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35651507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com