我有一段代碼,看起來像這樣(它從一個XIB文件的)分離一行代碼找到一個特定部分
<tabBar contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZTF-8n-Y8A">
<rect key="frame" x="2" y="431" width="320" height="49"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" flexibleMinY="YES"/>
<color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<items>
<tabBarItem title="Item" id="vcz-nP-1al"/>
<tabBarItem title="Item" id="9mv-O2-GXB"/>
</items>
</tabBar>
我通過搜索找到的塊的第一行ID使用以下
foreach(var search in Outlets.Values)
{
var ui = new UIObject();
var fullSearch = string.Format("id=\"{0}\"", search);
using (var reader = File.OpenText(infile))
{
var line = await reader.ReadLineAsync();
if (line.Contains(fullSearch))
,其中奧特萊斯是一個字典
我可以抓住整個文件中讀取並存儲在一個字符串或更可能的是,一個字符串生成器對象。
我想要做的是搜索塊的關鍵部分 - 例如,width =「320」。我需要從字符串的其餘部分分開width =「320」,然後刪除320部分。
我確實考慮過使用IndexOf(「width」),然後計數6以得到引號的內部直到下一個引號,但這可能相當低效 - 特別是如果字符串很長。
有沒有辦法以我描述的方式取一部分字符串?
String.Substring(索引,長度) 。 http://msdn.microsoft.com/en-us/library/aka44szs%28v=vs.110%29.aspx – 2014-09-11 02:40:34
你可以使用'XDocument.Parse'將內容讀入'XDocument'。 – Hassan 2014-09-11 02:41:42
XIB文件是XML,因此最好使用XML解析器而不是直接字符串操作。 http://stackoverflow.com/questions/2551307/modify-xml-existing-content-in-c-sharp有一些關於如何在C#中使用XDocument編輯XML的例子。 http://stackoverflow.com/questions/6593243/remove-attributes-from-xelement有一些關於如何從XML元素中刪除屬性的例子。 – NickAb 2014-09-11 02:44:13