try/catch 블록에서 XmlDocument.LoadXml()
같은 것을 사용하지 않고 문자열에 올바른 형식의 XML이 포함되어 있는지 확인할 수있는 방법을 아는 사람이 있습니까? 나는 XML 일 수도 있고 아닐 수도있는 입력을 얻었고, 입력이 try/catch에 의존하지 않고 XML이 아닐 수도 있다는 것을 인식하는 코드를 원한다. 속도와 일반 원칙에 비 예외적 인 상황이 제기해서는 안된다. 예외. 현재이 작업을 수행하는 코드가 있습니다.try/catch없이 올바른 형식의 XML을 확인 하시겠습니까?
private bool IsValidXML(string value)
{
try
{
// Check we actually have a value
if (string.IsNullOrEmpty(value) == false)
{
// Try to load the value into a document
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(value);
// If we managed with no exception then this is valid XML!
return true;
}
else
{
// A blank value is not valid xml
return false;
}
}
catch (System.Xml.XmlException)
{
return false;
}
}
하지만 try/catch가 필요하지 않은 것으로 보입니다. 디버거가 문자열을 확인할 때마다 디버거가 여기에서 깨어지기 때문에 예외가 발생합니다. '성가신 문제로 나를 도와줍니다.
을 던져 도착하는 방법이 있습니다. VS 내에서 바로 가기를 사용하십시오 : Ctrl + Alt + E, System.Xml.XmlException 찾기 및 끄기. – nashwan