Linq에서 뭔가를 알아 내는데 어려움을 겪고 있습니다. 누군가가 나에게 몇 가지 팁을 줄 수 있습니다.Linq to XML 및 다중 변환
새로운 XML로 변환해야하는 XML이 있습니다. 이 문제는 올바른 변환을 위해 여러 번 반복해야한다는 것입니다.
같은 것을 보일 것이다 소스 : 나는 존재를 결국이 싶은 무엇
<Meals>
<ketchup/>
<steak/>
<mustard/>
<thigh/>
<fillet/>
<penne/>
<drumstick/>
<steak/>
<ketchup/>
<fillet/>
<fillet/>
<macaroni/>
<drumstick/>
<thigh/>
<ketchup/>
<thigh/>
<fillet/>
</Meals>
이입니다 :
<Meals>
<Meal>
<ketchup/>
<steak/>
<mustard/>
<thigh/>
</Meal>
<Meal>
<fillet/>
<penne/>
<drumstick/>
</Meal >
<Meal>
<steak/>
<ketchup/>
</Meal>
<Meal>
<fillet/>
</Meal>
<Meal>
<fillet/>
<macaroni/>
<drumstick/>
</Meal>
<Meal>
<thigh/>
<ketchup/>
</Meal>
<Meal>
<thigh/>
<fillet/>
</Meal>
</Meals>
여기에서의 논리는 그 :
<steak>
및<fillet>
은 쇠고기 고기입니다.이전에 발생하는 모든 것또는 쇠고기 고기가 아닌 후 다른 식사의 일부가 아닌 한 식사의 일부. 쇠고기 고기가 쇠고기 고기 다음에 생기면 새로운 쇠고기 고기의 요소에 새로운 식사가 만들어집니다. 전에 발생하거나 그 후에 닭고기 아니다 너무 오래 이미 다른 식사의 일부가 아니다으로 식사의 일부입니다 아무것도 -<thigh>
및<drumstick>
는 닭 고기입니다. 닭 고기가 닭 고기 다음에 생기면 새 닭고기 요소에 새로운 식사가 만들어집니다.<macaroni>
및<penne>
은 파스타가 아닙니다. 파스타가 아니기 전이나 후에 발생하는 음식은 이미 다른 식사의 일부가 아닌 한 입니다. 파스타 후 파스타가 발생하면 새로운 파스타의 요소에 새로운 식사가 생성됩니다.<ketchup>
및<mustard>
은 조미료 - 이는 식사의 일부가 될 수 있습니다.
필자는 ElementsAfterSelf 및 ElementsBeforeSelf 및 TakeWhile로 시작했지만 위의 수행 방법을 이해하고 벽을 뚫고 있습니다. 나는 VB.NET과 Linq를 사용하고 있지만 C#을 읽을 수있다.
어떤 생각이나 포인터입니까?
감사합니다. 나는 LinqPad를 사용하고 있습니다. 겨자 한 번만 먹기 때문에 모든 식사에 포함되어 있지 않으므로 위의 예에서 다음 식사는 쇠고기가 새 쇠고기로 바뀌는시기를 기준으로합니다. –