いいえ、TextBlock
の最後の位置にすべてComposedBlock
タグを移動する必要があります。例のXMLは以下のとおりです。XML要素を特定の位置に移動する
これは、XML入力です:
<parent>
<ComposedBlock ID="P1_CB0000001" HPOS="6278" VPOS="1670" WIDTH="3610" HEIGHT="2727">
<GraphicalElement ID="P1_CB0000001_SUB" HPOS="6278" VPOS="1670" WIDTH="3610" HEIGHT="2727" />
</ComposedBlock>
<ComposedBlock ID="P1_CB0000002" HPOS="653" VPOS="1728" WIDTH="1689" HEIGHT="730">
<GraphicalElement ID="P1_CB0000002_SUB" HPOS="653" VPOS="1728" WIDTH="1689" HEIGHT="730" />
</ComposedBlock>
<TextBlock ID="P1_TB0000006" HPOS="2539" VPOS="1675" WIDTH="1200" HEIGHT="120" LANG="en" STYLEREFS="PAR_JUSTIFIED">
<TextLine ID="P1_TL0000028" HPOS="2539" VPOS="1675" WIDTH="1200" HEIGHT="120">
<String ID="P1_ST0000165" HPOS="2539" VPOS="1680" WIDTH="63" HEIGHT="86" CONTENT="ijt" />
<SP ID="P1_SP0000156" HPOS="2602" VPOS="1766" />
</TextLine>
</TextBlock>
<TextBlock ID="P1_TB0000011" HPOS="4406" VPOS="5170" WIDTH="1724" HEIGHT="1003" LANG="en" STYLEREFS="PAR_JUSTIFIED">
<TextLine ID="P1_TL0000083" HPOS="4411" VPOS="5170" WIDTH="1714" HEIGHT="120">
<String ID="P1_ST0000532" HPOS="4411" VPOS="5170" WIDTH="346" HEIGHT="91" CONTENT="Change" />
<SP ID="P1_SP0000513" HPOS="4757" VPOS="5261" />
<String ID="P1_ST0000533" HPOS="4776" VPOS="5198" WIDTH="230" HEIGHT="63" CONTENT="yo0ur" />
<SP ID="P1_SP0000514" HPOS="5006" VPOS="5261" />
</TextLine>
</TextBlock>
</parent>
、これは、所望の出力です:
<parent>
<TextBlock ID="P1_TB0000006" HPOS="2539" VPOS="1675" WIDTH="1200" HEIGHT="120" LANG="en" STYLEREFS="PAR_JUSTIFIED">
<TextLine ID="P1_TL0000028" HPOS="2539" VPOS="1675" WIDTH="1200" HEIGHT="120">
<String ID="P1_ST0000165" HPOS="2539" VPOS="1680" WIDTH="63" HEIGHT="86" CONTENT="ijt" />
<SP ID="P1_SP0000156" HPOS="2602" VPOS="1766" />
</TextLine>
</TextBlock>
<TextBlock ID="P1_TB0000011" HPOS="4406" VPOS="5170" WIDTH="1724" HEIGHT="1003" LANG="en" STYLEREFS="PAR_JUSTIFIED">
<TextLine ID="P1_TL0000083" HPOS="4411" VPOS="5170" WIDTH="1714" HEIGHT="120">
<String ID="P1_ST0000532" HPOS="4411" VPOS="5170" WIDTH="346" HEIGHT="91" CONTENT="Change" />
<SP ID="P1_SP0000513" HPOS="4757" VPOS="5261" />
<String ID="P1_ST0000533" HPOS="4776" VPOS="5198" WIDTH="230" HEIGHT="63" CONTENT="yo0ur" />
<SP ID="P1_SP0000514" HPOS="5006" VPOS="5261" />
</TextLine>
</TextBlock>
<ComposedBlock ID="P1_CB0000001" HPOS="6278" VPOS="1670" WIDTH="3610" HEIGHT="2727">
<GraphicalElement ID="P1_CB0000001_SUB" HPOS="6278" VPOS="1670" WIDTH="3610" HEIGHT="2727" />
</ComposedBlock>
<ComposedBlock ID="P1_CB0000002" HPOS="653" VPOS="1728" WIDTH="1689" HEIGHT="730">
<GraphicalElement ID="P1_CB0000002_SUB" HPOS="653" VPOS="1728" WIDTH="1689" HEIGHT="730" />
</ComposedBlock>
</parent>
とここに私のコードです:
XElement doc = XElement.Parse(reader);
IEnumerable<XElement> wd =
from el in doc.Descendants("ComposedBlock").ToList()
select el;
foreach (XElement el in wd)
{
//what do i need to do here?
}
ReplaceWの代わりにRemove ith(null)? – CSharpie
私はそれを考えなかった。 – jdweng