gpt4 book ai didi

c# - XML 批量更改类型十六进制

转载 作者:太空宇宙 更新时间:2023-11-03 14:52:43 24 4
gpt4 key购买 nike

所以我有 80 000 行 XML。它们遵循以下一般结构:

   <Object type="0xa14" id="Steel Dagger">
<Class>Equipment</Class>
<Item/>
<Texture>
<File>lofiObj5</File>
<Index>0x60</Index>
</Texture>
<SlotType>2</SlotType>
<Tier>0</Tier>
<Description>{equip.A_sharp_dagger_made_of_steel.}</Description>
<RateOfFire>1</RateOfFire>
<Sound>weapon/blunt_dagger</Sound>
<Projectile>
<ObjectId>Blade</ObjectId>
<Speed>140</Speed>
<MinDamage>20</MinDamage>
<MaxDamage>60</MaxDamage>
<LifetimeMS>400</LifetimeMS>
</Projectile>
<BagType>1</BagType>
<OldSound>daggerSwing</OldSound>
<feedPower>5</feedPower>
<DisplayId>{equip.Steel_Dagger}</DisplayId>

但我想做的是更改 XML 的所有类型。

类型是这部分:

type="0xa14"

我希望它们从头开始(第一个 XML)0x00,然后以十六进制增加 1,直到到达末尾。

这是 XML 文件的纯 pastebin: XML Github File

最佳答案

使用 xml linq 很简单:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Linq;

namespace ConsoleApplication1
{
class Program
{
const string FILENAME = @"c:\temp\test.xml";
static void Main(string[] args)
{
XDocument doc = XDocument.Load(FILENAME);

int index = 0;
foreach(XElement obj in doc.Descendants("Object"))
{
obj.SetAttributeValue("type", "0x" + index++.ToString("x"));
}
}
}
}

关于c# - XML 批量更改类型十六进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51111907/

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